Microsoft Excel

Herbers Excel/VBA-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!

Beiträge aus dem Excel-Forum zum Thema "VBA bestimmte Spalten kopieren"