mir wurde hier schon oft sehr gut geholfen.
ich habe nachfolgendes Problem:
ich habe 2 Listen hochgeladen, Quelltabelle: "Beispiel.xlsm"; Zieltabelle: "Zieltabelle.xlsx"
folgende Daten sollen von der Quelltabelle (Blatt "Verteiler") in die Zieltabelle übertragen werden:
Quelltabelle:
https://www.herber.de/bbs/user/74943.xlsm
Zieltabelle:
https://www.herber.de/bbs/user/74944.xlsx
1. Spalte D unter Überschrift "EP Mitglied" (Quelltabelle) nach "Auftraggeber" (Zieltabelle)
2. "Artikel-Nr." nach "Artikel"
3. "Bestellmenge" nach "Auftragsmenge"
4. "Listen EK" nach "Nettopreis"
Das Problem ist, daß die Daten, die in "Bestellmenge", "Artikel-Nr" und Listen-EK" stehen verbundene Zellen sind.
Die Zeilen, in denen bei "Bestellmenge" (Quelltabelle) bzw. entsprechend "Auftragsmenge" (Zieltabelle) leer sind sollen gelöscht werden.
zu beachten:
die hochgeladenen Listen sind Beispiellisten. In den Listen, die ich täglich erhalte variiert die Anzahl der
Einträge (z.Bsp. "EP Mitglied" oder "Artikel-Nr").
Ich habe ein Makro in der Quelltabelle aufgezeichnet. Dieses steht in VBA Project (PERSONAL.xlsb) Module Modul1. Ich hoffe es wird dadurch etwas einfacher.(Dabei habe ich nur die ersten drei Artkel-Nr. aufgezeichnet und nicht alle sieben von dieser Beispielliste)
Nachtrag: Da ich beim Hochladen der Zieldatei eine Meldung bekam, daß die Dateibenennung falsch ist habe ich die Zieldatei von ursprünglich "ZVA01N_K+P_Vorlage.xlsx" in "Zieltabelle.xlsx" umbenannt.
Deshalb hier noch mal der aufgezeichnete Code nach der Namensänderung.
Sub Makro1()
' Makro1 Makro
' Tastenkombination: Strg+a
' 20.05.2011
Windows("Beispiel.xlsm").Activate
Range("D41:D62").Select
Selection.Copy
Windows("Zieltabelle.xlsx").Activate
Range("E2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Beispiel.xlsm").Activate
Range("G12:P12").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Zieltabelle.xlsx").Activate
Range("N2:N23").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Beispiel.xlsm").Activate
Range("K41:P62").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Zieltabelle.xlsx").Activate
Range("O2:O23").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Beispiel.xlsm").Activate
Range("G14:P14").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Zieltabelle.xlsx").Activate
Range("P2:P23").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Beispiel.xlsm").Activate
Range("D41:D62").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Zieltabelle.xlsx").Activate
Range("E24").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Beispiel.xlsm").Activate
Range("R12:AA12").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Zieltabelle.xlsx").Activate
Range("N24:N45").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Beispiel.xlsm").Activate
Range("V41:AA62").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Zieltabelle.xlsx").Activate
Range("O24:O45").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Beispiel.xlsm").Activate
Range("R14:AA14").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Zieltabelle.xlsx").Activate
Range("P24:P45").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Beispiel.xlsm").Activate
Range("D41:D62").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Zieltabelle.xlsx").Activate
Range("E46").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Beispiel.xlsm").Activate
Range("AC12:AL12").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Zieltabelle.xlsx").Activate
Range("N46:N67").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Beispiel.xlsm").Activate
Range("AG41:AL62").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Zieltabelle.xlsx").Activate
Range("O46:O67").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Beispiel.xlsm").Activate
Range("AC14:AL14").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Zieltabelle.xlsx").Activate
Range("P46:P67").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
Ich hoffe das Problem ist verständlich dargestellt.
Viele Grüße
Stefan