Herbers Excel-Forum - das Archiv

VBA bestimmte Spalten kopieren


Betrifft: VBA bestimmte Spalten kopieren
von: michi0401

Geschrieben am: 17.09.2019 13:53:56
Hallo Leute,
ich bin auf der Suche nach einem Makro dass mir bestimmte Spalten in ein neues vorhandenes Arbeitsblatt kopiert.
Die Überschriften der Tabelle aus SAP sind immer gleich und an der gleichen Stelle, jedoch sind die Spalten nicht immer gleich lang, mal 500 Zeilen, mal 5000 Zeilen.
Konkret : Ich brauche die Spalten "I, J, K, U, W" von worksheet "sales_makro" in worksheet "Prod_Sales" Spalte A-E.
Habe mich schon auf Google versucht und mit dem Makrorekorder, ich bekomms einfach nicht hin.
Ich wäre euch sehr dankbar, wenn ihr mir da helfen könnet!
Mit freundlichen Grüßen

Betrifft: Das sollte der Makrorecorder...
von: 1713470.html
Geschrieben am: 17.09.2019 14:14:03
Hi,
...doch aber locker hinbekommen. Musst halt nur die ganze Spalte jeweils kopieren und einfügen.
Wo genau hakt es dabei?
VG, Boris

Betrifft: AW: VBA bestimmte Spalten kopieren
von: 1713472.html
Geschrieben am: 17.09.2019 14:17:41
@Boris da habe ich das Problem, dass er mir teilweise Spalten auslässt oder falsch kopiert bzw einfügt. Außerdem würde ich ja auch nur hard festlegen wieviele Zeilen die Spalte aktuell hat z.B 5000, beim nächsten mal hat die Spalte ja aber mehr oder weniger Zeilen.

Betrifft: AW: VBA bestimmte Spalten kopieren
von: 1713474.html

Geschrieben am: 17.09.2019 14:40:01
Also bei mir schmeißt der Recorder folgendes aus (100% Originalfassung):
Sub Makro2()
' Makro2 Makro
' Tastenkombination: Strg+l
Range("I:I,J:J,K:K,U:U,W:W").Select
Range("W1").Activate
Selection.Copy
Sheets("Tabelle2").Select
Columns("A:A").Select
ActiveSheet.Paste
End Sub
Drücke ich meine zugewiesene Tastenkombi, funktioniert es einwandfrei...
Kann natürlich sein, dass es bei 5000 Zeilen hakt, das werde ich haber nicht ausprobieren.
Auf jeden Fall funktiert es innerhalb meiner kleinen Testdatei ausgezeichnet.

Betrifft: AW: VBA bestimmte Spalten kopieren
von: 1713478.html
Geschrieben am: 17.09.2019 14:54:53
Danke für die Antwort.
Bei mir sah das ganz anders aus, jedoch habe ich es jetzt mit diesem Code geschafft :

Sub ausschnitt_kopieren()
Dim wksQ As Worksheet, wksZ As Worksheet
Dim lngLast As Long
Set wksQ = Sheets("sales makro")
Set wksZ = Sheets("Prod_Sales")
lngLast = wksQ.Cells(wksQ.Rows.Count, 1).End(xlUp).Row
wksQ.Range("I1:I" & lngLast).Copy wksZ.Range("A1")
wksQ.Range("J1:J" & lngLast).Copy wksZ.Range("B1")
wksQ.Range("K1:K" & lngLast).Copy wksZ.Range("C1")
wksQ.Range("U1:U" & lngLast).Copy wksZ.Range("D1")
wksQ.Range("W1:W" & lngLast).Copy wksZ.Range("E1")
End Sub

Vielen Dank für eure Hilfe!
Excel-Beispiele zum Thema "VBA bestimmte Spalten kopieren"
Befindet sich die aktive Zelle in einem bestimmten Bereich? Werte eins bestimmten Monats summieren
Werte 1 und 0 in einem bestimmten Verhältnis zufällig anordnen Alle Links zu einer bestimmten Arbeitsmappe löschen
Anzahl eines bestimmten Wochentages im Monat Alle Dateien ab einem bestimmten Datum listen
Daten eines bestimmten Jahres filtern Word mit bestimmtem Dokument starten
Bestimmte Anzahl von Zeichen zulassen Zeilen löschen, wenn in bestimmten Spalten keine Werte stehen
Bewerten Sie hier bitte das Excel-Portal