0

Excel で 3 シートのコードを書いています。シート 1 には、シート 3 からシート 2 に表示されないデータが表示されます。これを達成するために、コードは次のようになります。

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 の下に 2 つ目の .FIND を含めようとしています。 B") シート 2 と 3 の両方から、Offset() 関数を使用してこのデータを比較できると考えています。これに関するアドバイスをいただければ幸いです!!!!

ありがとう。

4

1 に答える 1

0

の代わりにRange.Find、使用することをお勧めしますWorksheetFunction.CountIfs

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 Sub
于 2013-09-04T16:08:34.367 に答える