Clever-Excel-Forum

Normale Version: Spalten kopieren und einfügen mit Makro
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Excel Profi's

ich habe eine umfangreiche Excel Tabelle in welcher ab Spalte 43 bis 90 regelmässig von Extern Daten gespeichert werden.
Diese Daten dürfen nicht verändert werden. Da ich aber nur vereinzelte Werte benötige, kopiere ich mit einem Makro
(irgendwo gefunden und angepasst) die benötigten Daten nach Spalte 1 bis 38. Leider werden auch die Spaltenköpfe mit kopiert.
Ich möchte aber dass nur die Werte ab Zeile 7 nach Spalten 1 bis 38 kopiert werden, ohne Spaltenköpfe. Wäre dankbar,
wenn mir jemand das Makro bereinigt, damit die Spaltenüberschriften nicht mitkopiert werden. Krieg das selber nicht hin.
Gruss Martin

Sub Spalten_kopieren()
Dim lz01&, i&
Const von = "BD,BE,BH,BI,BO,BP,BJ,CI,CH,CF,BY,CL"
Const nach = "AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM"
Dim aVon, aNach
aVon = Split(von, ",")
aNach = Split(nach, ",")
lz01 = Range("BD" & Cells.Rows.Count).End(xlUp).Row
For i = 0 To UBound(aVon)
Tabelle1.Range(aVon(i) & "1").Resize(lz01 - 1).Copy Sheets(1).Range(aNach(i) & "1")
Next
End Sub
moin, 
bist du sicher das dein Makro funktioniert? 
Zumindest der Einfügepunkt in deiner Beispieldatei stimmt nicht.  Wenn es stimmt das die kopierten Daten in die gleiche Tabelle eingefügt werden sollen, nur etwas weiter vorne, dann versuche dies. 

Code:
Option Explicit

Sub Spalten_kopieren()
Dim lz01&, i&, ersteZeile&

Const von = "BD,BE,BH,BI,BO,BP,BJ,CI,CH,CF,BY,CL"
Const nach = "AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM"
Dim aVon, aNach
aVon = Split(von, ",")
aNach = Split(nach, ",")
lz01 = Range("BD" & Cells.Rows.Count).End(xlUp).Row
ersteZeile = 7
For i = 0 To UBound(aVon)
Sheets(1).Range(aVon(i) & ersteZeile & ":" & aVon(i) & lz01).Copy Sheets(1).Range(aNach(i) & ersteZeile)
Next
End Sub
Hallo ralf_b
danke für die Korrektur des Makro.
Es läuft wie gewünscht.
Ja nur der Einfügepunkt hat nicht gestimmt.
:98:  und Gruss
Martin