Microsoft Excel

Herbers Excel/VBA-Archiv

Variablen kopieren | Herbers Excel-Forum


Betrifft: Variablen kopieren von: Space
Geschrieben am: 26.01.2010 15:18:13

Hallo Forum,

ich muss diese Frage noch einmal auf den Tisch werfen, da sich mich immernoch beschäftig. Mit diesem Code kopiere ich aus einem andere Arbeitsblatt Spalten und setze sie in das aktuelle Arbeitsblatt in einer angegebenen Reihenfolge ein. Den fett markierten Bereich muss ich allerdings auch noch variabel gestalten, da sich die Quelldatei von der Anzahl der Zeilen her verändert.

Mit: ".Range(.Cells(18, 1), .Cells(Rows.Count, 2).End(xlUp)).Resize(, 23)" habe ich es bereits probiert aber leider keinen Erfolg gehabt (Anweisungsende bei wsZiel erwartet).

Sub
....
Dim wsQuelle As Worksheet, wsZiel As Worksheet
Dim arrSpalte, lngS As Long, lngZ As Long
arrSpalte = Array(12, 3, 9, 11, 7, 8, 14, 10, 15, 16, 2, 17, 1) 'Hier die Reihenfolge angeben !

Set wsQuelle = Workbooks.Open(Filename:="Pfad \ Datei.xls").Sheets("Vertretungen+Töchter")
Set wsZiel = Workbooks("Data Generator.xls").Sheets("Partner Kontakte")

For lngS = LBound(arrSpalte) To UBound(arrSpalte)
lngZ = lngZ + 1
wsQuelle.Range("A4:M500").Columns(arrSpalte(lngS)).Copy wsZiel.Cells(18, lngZ)
Next
....
End Sub

Wie kann ich das zum laufen bringen?
Danke an alle!
Gruß
Space

  

Betrifft: AW: Variablen kopieren von: Rudi Maintaire
Geschrieben am: 26.01.2010 16:11:49

Hallo,
das ist doch ganz einfach!

For lngS = LBound(arrSpalte) To UBound(arrSpalte)
lngZ = lngZ + 1
With wsQuelle
.Range(.Cells(18, 1), .Cells(Rows.Count, 2).End(xlUp)).Resize(, 23).Columns(arrSpalte(lngS)).Copy wsZiel.Cells(18, lngZ)
End With
Next

Gruß
Rudi


  

Betrifft: AW: Variablen kopieren von: Space
Geschrieben am: 26.01.2010 17:31:20

Hallo,

ja, wenn mir das auch alles so einfach fallen würde ;)!
Danke hat geklappt!

Gruß
Space


Beiträge aus den Excel-Beispielen zum Thema "Variablen kopieren"