Ich möchte in einer Schleife von einer Exceldatei C:/..../.../Quelle.xlsm (C steht für egal wo sie liegt) einzelne verstreute(und Bereiche) Zellen in eine andere Exceldatei D:/.../.../Ziel.xlsx kopieren. Eigentlich einfach denke ich, nicht für mich ;-(
Hier mein Bastelwerk (ich hab wegen der Länge die unwichtigen Zeilen gelöscht).
Public qOrdner As String ' AblagePfad für MeldeListe
Public qDateiname As String ' Dateiname MeldeListe
Public zOrdner As String ' AblagePfad für Zusageliste
Public zDateiname As String ' Dateiname Zusageliste
Public wbMappe As Workbook ' Hilfsvariable
Public wbQ As Workbook 'Quelldatei
Public wbZ As Workbook 'Zieldatei
Sub Startwerte()
qOrdner = ThisWorkbook.Path & "\" ' Der Meldeordner kann an beliebiger Stelle liegen
qDateiname = ThisWorkbook.Name ' Die Meldedatei kann beliebig umbenannt werden
zOrdner = "D:\010_PRIVAT\000_MASKEN+Vorlagen\Macros\" 'Mit "\" am Ende !
zDateiname = "Meldeliste_Gesamt.xlsm" ' Name der Zusageliste ist hier fest
End Sub
Sub Logistik_Daten_kopieren()'>>>>>>>>>>>>>>>>>dieses Macro starte ich >>>>>>>>>>>>>
'----------------Lokale Variable einrichten-----------------
Dim iZeile As Integer
Dim iWert As Integer
Dim qZelle As String
Dim zZelle As String
Dim Test As Variant
Startwerte
'Quelldatei öffnen
Set wbQ = Workbooks.Open(qOrdner & qDateiname) #####Hier gibt es Probleme
'Zieldatei öffnen
Set wbZ = Workbooks.Open(zOrdner & zDateiname) #####Hier gibt es Probleme - Hier beendet sich _
der Einzelschritt oder wenn ich den Code ändere ( z.B. mit activate arbeite weil die Dateien ja schon offen sind) geht nix mehr
iZeile = 14 'Erste Zeilen Adresse B14
If Workbooks(qDateiname).Worksheets(1).Cells(iZeile, 2) Empty Then ' iZeile,2 = Start- _
Zelle-
B14, dann B15, dann _
B16, usw.
Zeile_in_Datei_einfügen ' fügt eine Leerzeile an Pos. Zeile 8 in Zieldatei
'--Logistikwerte von Meldeliste in Zusageliste kopieren --
For iWert = 1 To 9 ' 9 mal wiederholen da 9 Werte
'----------Quell und Zielzelle adressieren----------
' hier steht noch coder der funktioniert
'--------Werte in Meldeliste kopieren -------------
'--------Zeile B14 bis B29 ------------------------
Workbooks(qDateiname).Worksheets(1).Range(qZelle).Copy
Workbooks(zDateiname).Worksheets(1).Range(zZelle).PasteSpecial Paste:= _
xlPasteValues
Next
'----------------Produktdaten in Meldeliste übernehmen-------------------
#### wbQ.Worksheets(1).Range("B14:L14").Offset(iZeile - 14, 0).Copy ' Kopiere _
Meldedaten
#### wbZ.Worksheets(1).Range("N9:X9").Offset(iZeile - 14, 0).PasteSpecial Paste:= _
xlPasteValues
Else
' erste freie Zeile in Meldeliste ohne MLFB erreicht
iZeile = iZeile + 1
End If
Danke wiedermal für Eure Hilfe.