Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Bestimmte Spalten kopieren - Teil 2

Forumthread: Bestimmte Spalten kopieren - Teil 2

Bestimmte Spalten kopieren - Teil 2
26.01.2018 19:07:11
Markus
Liebes Forum,
wie muss ich den unten stehenden Code anpassen, wenn ich die ausgewählten Spalten NICHT nacheinander in die Masterdatei kopieren will, sondern individuell.
Sprich, bspw. in Spalten 1,3 und 6 der Masterdatei.
Public Sub Kopieren()
Dim WkSh_Q As Worksheet
Dim WkSh_Z As Worksheet
Dim rZelle As Range
Dim aUeberschr As Variant
Dim iIndx As Integer
Dim iSpalte As Integer
aUeberschr = Array("Name", "Alter", "Vorname")
Application.ScreenUpdating = False
Set WkSh_Q =Workbooks("Datei1.xlsm").Worksheets("Tabelle1") 'das Quell-Tabellenblatt
Set WkSh_Z = Workbooks("Masterdatei.xlsm").Worksheets("Tabelle2") ' das Ziel-Tabellenblatt
With WkSh_Q.Rows(1)
For iIndx = 0 To UBound(aUeberschr)
Set rZelle = .Find(aUeberschr(iIndx), LookAt:=xlWhole, LookIn:=xlValues)
If Not rZelle Is Nothing Then
iSpalte = iSpalte + 1       'nicht nacheinander, sondern in Spalte A, C und F
WkSh_Q.Columns(rZelle.Column).Copy Destination:=WkSh_Z.Columns(iSpalte)
End If
Next iIndx
End With
Application.ScreenUpdating = True
End Sub

Besten Dank euch!
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte Spalten kopieren - Teil 2
26.01.2018 19:35:15
Robert
Hallo Markus,
ungeprüft würde es ich es mal so versuchen:

Public Sub Kopieren()
Dim WkSh_Q As Worksheet
Dim WkSh_Z As Worksheet
Dim rZelle As Range
Dim aUeberschr As Variant
Dim iIndx As Integer
Dim iSpalte As Variant
aUeberschr = Array("Name", "Alter", "Vorname")
iSpalte = Array(1, 3, 6)  'Spalte A, C und F
Application.ScreenUpdating = False
Set WkSh_Q = Workbooks("Datei1.xlsm").Worksheets("Tabelle1") 'das Quell-Tabellenblatt
Set WkSh_Z = Workbooks("Masterdatei.xlsm").Worksheets("Tabelle2") ' das Ziel-Tabellenblatt
With WkSh_Q.Rows(1)
For iIndx = 0 To UBound(aUeberschr)
Set rZelle = .Find(aUeberschr(iIndx), LookAt:=xlWhole, LookIn:=xlValues)
If Not rZelle Is Nothing Then
WkSh_Q.Columns(rZelle.Column).Copy Destination:=WkSh_Z.Columns(iSpalte(iIndex))
End If
Next iIndx
End With
Application.ScreenUpdating = True
End Sub
Die geänderten/neuen Zeilen habe ich rot markiert. Die Zeile
iSpalte = iSpalte + 1
habe ich ganz entfernt.
Gruß
Robert
Anzeige
AW: Bestimmte Spalten kopieren - Teil 2
26.01.2018 23:07:19
Markus
Vielen Dank Robert!
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18