AW: Tabellen zusammenfügen
08.06.2005 18:12:23
IngGi
Hallo Alexander,
im nachfolgenden Makro heißt die Excel Datei, in die Daten hineinkopiert werden sollen "Mappe1". Die Excel-Datei, aus der Daten herauskopiert werden sollen, heißt "Mappe2". Die Namen mußt du im Makro anpassen. Das Makro setzt weiter voraus, dass die Tabellen jeweils im ersten Tabellenblatt der beiden Excel-Dateien stehen und dass die erste Zeile Überschriften enthält, so dass die Daten dann ab Zeile 2 stehen. Außerdem muß das übereinstimmende Suchkriterium (Artikelnr.) jeweils in Spalte A stehen. Schließlich müssen beide Dateien beim Start des Makros geöffnet sein. Sollten diese Voraussetzungen nicht gegeben sein, muß das Makro noch entsprechend angepasst werden. Dafür bräuchte ich dann genaue Beschreibungen von dir, was wo steht.
Öffne beide Dateien in Excel. Gehe dann mit Alt+F11 in den Makro-Editor. Doppelklicke im linken Fenster auf eine deiner beiden Dateien. Welche, ist egal. Über Einfügen-Modul fügst du in die gerade doppelgeklickte Datei ein Modul ein. Jetzt kannst du das Makro in das große Fenster rechts hineinkopieren. Gestartet wird in Excel über Extras-Makro-Makros-kopieren.
Sub kopieren()
Dim rngQ As Range, rngZ As Range
For Each rngQ In Workbooks("Mappe2.xls").Sheets(1).Range("A2:A" & _
Workbooks("Mappe2.xls").Sheets(1).Range("A65536").End(xlUp).Row)
Set rngZ = Workbooks("Mappe1.xls").Sheets(1).Range("A:A").Find(What:=rngQ, Lookat:=xlWhole)
If rngZ Is Nothing Then
Range(rngQ, rngQ.End(xlToRight)).Copy Destination:=Workbooks("Mappe1.xls").Sheets(1) _
.Range("A2").End(xlDown).Offset(1, 0)
Else
Range(rngQ.Offset(0, 1), rngQ.End(xlToRight)).Copy _
Destination:=rngZ.End(xlToRight).Offset(0, 1)
End If
Next rngQ
End Sub
Gruss Ingolf