Ich versuche, Spalte A in Blatt2 mit SpalteA in Blatt1 zu vergleichen, und wenn es eine Übereinstimmung gibt, kopieren Sie die Zeile von Blatt1 nach Blatt3. Hier ist der Code, den ich habe, aber es funktioniert nicht.Excel VBA - Vergleichen Sie Werte in zwei Spalten und kopieren Sie übereinstimmende Zeile in neues Blatt
Sub compareAndCopy()
Dim lastRowE As Integer
Dim lastRowM As Integer
Dim foundTrue As Boolean
' stop screen from updating to speed things up
Application.ScreenUpdating = False
lastRowE = Sheets("Sheet2").Cells(Sheets("Sheet2").Rows.Count, "A").End(xlUp).Row
lastRowF = Sheets("Sheet1").Cells(Sheets("Sheet1").Rows.Count, "A").End(xlUp).Row
lastRowM = Sheets("Sheet3").Cells(Sheets("Sheet3").Rows.Count, "B").End(xlUp).Row
For i = 1 To lastRowE
foundTrue = False
For j = 1 To lastRowF
If Sheets("Sheet2").Cells(i, 1).Value = Sheets("Sheet1").Cells(j, 1).Value Then
'MsgBox ("didnt find string: " & Sheets("Sheet2").Cells(i, 2).value)
Sheets("Sheet2").Rows(i).Copy Destination:= _
Sheets("Sheet3").Rows(lastRowM + 1)
Exit For
End If
Next j
If Not foundTrue Then
lastRowM = lastRowM + 1
foundTrue = True
End If
Next i
' stop screen from updating to speed things up
Application.ScreenUpdating = True
End Sub
Bitte konkretisieren Sie das Problem. Was funktioniert nicht? wirft es einen Fehler? Wenn ja, auf welcher Linie? –
Ihre Erzählung und Ihr Code stimmen nicht überein. In Ihrer Erzählung sagen Sie, dass Sie Blatt 1 auf Blatt 3 übertragen möchten, aber Sie übertragen Blatt 2 auf Blatt 3. Was ist das? Auch was ist mit dem FoundTrue, du verwendest es nicht wirklich, warum hast du den extra Code? –