Ich habe eine Excel-Arbeitsmappe mit einer Anforderung, Zeilen aus einem Blatt und kopieren (append) auf ein anderes Blatt basierend auf dem Wert innerhalb einer Spalte. Ich kann dies mit dem unten stehenden Code erreichen, aber offensichtlich werde ich jedes Mal, wenn ich diesen Code ausführe, dieselben Zeilen erneut anhängen.Excel 2010, VBA Kopie Zeile zu einem anderen Blatt ausgeschlossen kopiert zuvor basierend auf ID-Nummer
date Sheet1 wird ständig hinzugefügt, sheet2 ist ein inkrementelles Protokoll aller Zeilen in sheet1, die in Spalte 13 das Flag Yes haben. Gleiche Spalten auf beiden Blättern, Spalte 1 ist eine eindeutige ID.
Gibt es eine Möglichkeit, diesen Code hinzuzufügen, um sicherzustellen, dass nur Zeilen aus Blatt1 kopiert werden, die nicht bereits in Blatt2 erscheinen.
Ich habe den Code unten zusammen aus einer Antwort auf andere Fragen hier geschrieben, aber kann nicht scheinen, wie man vermeidet, Zeilen in Sheet2 zu duplizieren. Ich bin überhaupt nicht so fortgeschritten mit VBA. Vielen Dank im Voraus für jede Hilfe.
Sub GasImportToPending()
Dim x As Long
Dim iCol As Integer
Dim MaxRowList As Long
Dim S As String
Set wsSource = Worksheets("sheet1")
Set wsTarget = Worksheets("sheet2")
iCol = 1
MaxRowList = wsSource.Cells(Rows.Count, iCol).End(xlUp).Row
For x = MaxRowList To 1 Step -1
S = wsSource.Cells(x, 13)
If S = "Yes" Or S = "yes" Then
AfterLastTarget = wsTarget.Cells(Rows.Count, 1).End(xlUp).Row + 1
wsSource.Rows(x).Copy
wsTarget.Rows(AfterLastTarget).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
End If
Next
Application.ScreenUpdating = True
End Sub
hat jede Kopierzeile eine eindeutige Kennung? –
Ja, jede Zeile in Blatt1 hat eine eindeutige Kennung (5-stellige Ganzzahl) in Spalte A. Hoffe, das hilft. – MrCB