我正在写一个代码在Excel中的一个3张表,表1将显示的数据,没有出现在Sheet2从Sheet3,为了完成这一代码将如下所示;
Dim r As Excel.Range
Dim cell As Excel.Range
Set r = Sheet3.Range(Sheet3.Cells(1, 1), Sheet3.Cells(Rows.Count, 1).End(xlUp))
Dim curRowSheet1 As Long
curRowSheet1 = 1
For Each cell In r
Set rFind = Sheet2.Range("A:A").Find(cell.Value)
If (rFind Is Nothing) Then
cell.EntireRow.Copy Sheet1.Cells(curRowSheet1, 1)
curRowSheet1 = curRowSheet1 + 1
End If
Next cell注意:我正在尝试在第9行"SET rFind“下包含第二个偏移量,如果在其中查找列(”A: are“)中的单元格的值,然后还验证来自表2和表3的列("B:B")的值是否相同,我想我可以使用.FIND ()函数来比较此数据,任何关于此的建议都将不胜感激!
谢谢。
发布于 2013-09-05 00:08:34
我建议使用WorksheetFunction.CountIfs而不是Range.Find
Sub tgr()
Dim ACell As Range
For Each ACell In Sheet3.Range("A1", Sheet3.Cells(Rows.Count, "A").End(xlUp)).Cells
If WorksheetFunction.CountIfs(Sheet2.Columns("A"), ACell.Value, Sheet2.Columns("B"), ACell.Offset(, 1).Value) = 0 Then
ACell.EntireRow.Copy Sheet1.Cells(Rows.Count, "A").End(xlUp).Offset(1)
End If
Next ACell
End Subhttps://stackoverflow.com/questions/18617540
复制相似问题