dieses Forum hat mir schon oft weitergeholfen, aber jetzt hänge ich an einem Fall, bei dem ich einfach nicht weiterkomme.
Es geht darum,ein Makro zu erstellen, welches aus einer aufgerufenen Datei immer die selben Spalten kopiert und sie dann in mein Tabellenblatt in unterschiedliche Spalten schreibt.
Hat alles bereits gut funktioniert, bis ich die Einfügespalten statt zusammenhängend in vordefinierte Spalten umändern musste.
Nun kann man nämlich nichtmehr wie zuvor alle SPalten gleichzeitig kopieren und in der selben Reihenfolge wieder einfügen, sondern muss jede Zelle einzeln kopieren und dann in eine definierte Spalte schreiben.
Habe es jetzt mit Arrays versucht, aber das mag auch nicht so wirklich funktionieren..
Ich hoffe ihr versteht was ich meine, ist vermutlich auch kein Hexenwerk diese For-Schleife, aber ich bekomme sie einfach nicht zum Laufen...
Hier ist mein Makro:
Sub Precheck_laden()
MsgBox ("Bitte Datei auswählen und mit Doppelklick bestätigen")
Dim strVerweis As String 'Verweis auf Zelle in anderer Datei
Dim x As Workbook, y As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet
fileToOpen = Application.GetOpenFilename("Microsoft Excel-Dateien (*.xlsm), *.xlsm")
Workbooks.Open (fileToOpen)
Set x = ActiveWorkbook
Set y = Workbooks("LISTE.xlsm")
Set ws1 = x.Sheets("Eingabe")
Set ws2 = y.Sheets("Kalender")
Dim Z(1 To 16) As Integer
Z(1) = 29
Z(2) = 42
Z(3) = 44
Z(4) = 46
Z(5) = 48
Z(6) = 50
Z(7) = 52
Z(8) = 54
Z(9) = 56
Z(10) = 58
Z(11) = 60
Z(12) = 61
Z(13) = 62
Z(14) = 63
Z(15) = 64
Z(16) = 65
Dim C(1 To 16) As Integer
C(1) = 10
C(2) = 11
C(3) = 12
C(4) = 13
C(5) = 14
C(6) = 15
C(7) = 16
C(8) = 17
C(9) = 18
C(10) = 19
C(11) = 20
C(12) = 21
C(13) = 22
C(14) = 23
C(15) = 24
C(16) = 25
Dim i As Integer
For i = 1 To 15
With ws1
.Cells(135, C(i)).Copy
Sheets("Eingabe").Close SaveChanges:=False
Sheets("Kalender").Select
zeile = ActiveCell.Row
ActiveSheet.Cells(zeile, Z(i)).Select
Selection.NumberFormat = "@"
Selection.PasteSpecial
End With
Next i
End Sub
Vielen Dank schonmal für eure Hilfe!
Christian