Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1384to1388
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kopieren von Spalten aus Quelle zu Zieldatei

Kopieren von Spalten aus Quelle zu Zieldatei
16.10.2014 09:46:41
Spalten
Hallo liebe Community,
ich habe ein kleines Problem in einem Quellcode...
Die Aufgabe ist es, Spalten aus der Quelldatei in die Zieldatei zu übertragen. Die Reihenfolge, wie sie kopiert werden gebe ich vor. Es sollen zudem Leere Spalten mit übergeben werden... Der Quellcode jedoch sortiert sich die Reihenfolge automatisch numerisch bzw alphabetisch.
Hier ein Auszug vom Quellcode
With wksData
With .UsedRange
Zeile_L = .Row + .Rows.Count - 1 'letzte benutze Zeile
End With
For Spalte_D = 1 To .UsedRange.Column + .UsedRange.Columns.Count - 1
Select Case Spalte_D
Case 15, 17, 66, 11, 55, 25, 23, 80, 81, 82, 83, 84, 85, 27, 86, 87, 28, 88, 89, 90, 91, 29, 30 'o,q,bn,k,bc,y,w,6 Leerzeilen,aa,2 Leerzeilen,ab,4 Leerzeilen,ac,ad
.Range(.Cells(2, Spalte_D), .Cells(Zeile_L, Spalte_D)).Copy
wksZiel.Cells(Zeile_Z, Spalte_Z).PasteSpecial Paste:=xlPasteValues
Spalte_Z = Spalte_Z + 1
Case Else
'do nothing
End Select
Next
End With
Application.CutCopyMode = False
Wie kann ich es bewerkstelligen, dass meine Kopierreiehnfolge eingehalten wird und dementsprechend eingefügt wird?
Vielen Dank im vorraus :)

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren von Spalten aus Quelle zu Zieldatei
17.10.2014 14:19:11
Spalten
Hallo ANAna,
du musst die Spaltennummern in ein Datenarray packen und dann das Array in der Schleife abarbeiten.
AlternativE:
Man könnte auch für jede Quellspalte eine Case-Zeile erstellen in der die Zielspalte festgelegt wird. Unter Case Else wird die Zielspalte = 0 gesetzt
Nach End Select wird in einer If-Anweisung geprüft ob die Zielspalte ungleich 0 ist und kopiert.
Gruß
Franz
  Dim arrSpalten
With wksData
With .UsedRange
Zeile_L = .Row + .Rows.Count - 1 'letzte benutze Zeile
End With
arrSpalten = Array(15, 17, 66, 11, 55, 25, 23, 80, 81, 82, 83, 84, 85, 27, 86, 87, 28, 88,  _
89, _
90, 91, 29, 30) 'o,q,bn,k,bc,y,w,6 Leerzeilen,aa,2 Leerzeilen,ab,4 Leerzeilen,ac,ad
For Spalte_D = LBound(arrSpalten) To UBound(arrSpalten)
.Range(.Cells(2, arrSpalten(Spalte_D)), .Cells(Zeile_L, arrSpalten(Spalte_D))).Copy
wksZiel.Cells(Zeile_Z, Spalte_Z).PasteSpecial Paste:=xlPasteValues
Spalte_Z = Spalte_Z + 1
Next
End With
Application.CutCopyMode = False

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige