Hallo liebe Forum User.
Ich habe ein Problem…
In eine Masterliste(beliebig viele Zeilen und 10 Spalten.) möchte ich eine Updateliste „importieren“.
Dabei soll SPalte A mit der Spalte A der Updateliste verglichen werden. Bei einträge die in der Updateliste stehen aber nicht in der Masterliste sollen die ganze zeile im Master unten angefügt werden. Doppelte Einträge also einträge die in beiden Listen in der Ersten spalte vorhanden sind können Ignoriert werde. Wenn aber ein Eintrag in der Masterliste (spalte A) steht der in der Updateliste nicht ist soll diese zeile gelöscht werden.
Ich habe ein Makro gebaut das 2 FOR schleifen hatte, das war aber sehr langsam …sobald der andere PC online ist werde ich mein Codechaos posten.
Ich hoffe mir kann jemand helfen…
SO Ich schaffe es die Zeilen die nur in dem 2ten File drin stehen aber nicht in dem ersten in das erste zu kopieren … komischerweise macht er es beim 2ten durchlauf aber wieder onbwohl die zeilen bündig unten an die liste der datei 1 geschrieben werden … sieht jemand den fehler ?
Stamm = ActiveWorkbook.Name
Zeilenanzahl = Workbooks(Stamm).Sheets(„Sheet1“).Cells(Rows.Count, 1).End(xlUp).Row
varFile = Application.GetOpenFilename(„Excel Files (*.xls), *.xls“, , „XLS“, „Auswahl“, False)
If TypeName(varFile) Like „Boolean“ Then
MsgBox „Keine Datei gewählt!“, vbInformation
Exit Sub
Else
varName = Right$(varFile, Len(varFile) - InStrRev(varFile, „“))
Workbooks.Open varFile
Zeilenanzahl2 = Workbooks(varName).Sheets(„Sheet1“).Cells(Rows.Count, 1).End(xlUp).Row
For XY = 1 To Zeilenanzahl2
Dabei = 0
For YZ = 1 To Zeilenanzahl
If Workbooks(Stamm).Sheets(„Sheet1“).Cells(XY, 1).Value = Workbooks(varName).Sheets(„Sheet1“).Cells(YZ, 1).Value Then
Dabei = 1
End If
Next YZ
If Dabei = 0 Then
With Workbooks(varName).Sheets(„Sheet1“)
Workbooks(varName).Sheets(„Sheet1“).Rows(XY).Copy _
Destination:=Workbooks(Stamm).Sheets(„Sheet1“).Rows(Zeilenanzahl + 1)
End With
Zeilenanzahl = Zeilenanzahl + 1
End If
Next XY
End If
Hallo
kann es das sein, was fehlt:
Zeilenanzahl = Zeilenanzahl + 1
Zeilenanzahl2 = zeilenanzahl2 + 1
End If
Next XY
End If
Gruß
smalbop
Guten Tag,
Danke für die Antwort aber das ist schon richtig so. Zeile + 1 brauche ich ja nur dort wo etwas in die nächste zeile geschriebe werden soll.