Clever-Excel-Forum

Normale Version: VBA - Definierte Zellen und Bereiche in eine andere Tabelle kopieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute!

Ich komme mal wieder nicht weiter.
Ich möchte per Button. definierte/ bestimmte Bereiche und Zellen in einer andere Tabelle kopieren.
Nach jedem erneuten Klicken des Buttons, soll eine freie Spalte zwischen den Daten bleiben, für eine gewisse Struktur.
Leider komme ich mit meinem Ansatz nicht weiter:

Code:
Sub btnA()

Dim LastColumn As Long

LastColumn = Cells.SpecialCells(xlCellTypeLastCell).Column

   With tblOne
        tblData.Cells(2, LastColumn + 1).Value = .Cells(4, "F").Value
       tblData.Cells(3, LastColumn + 1).Value = .Cells(4, "C").Value
       tblData.Cells(4, LastColumn + 1).Value = .Cells(6, "C").Value
       tblData.Cells(6, LastColumn + 1).Value = .Cells(8, "I").Value
       tblData.Cells(7, LastColumn + 1).Value = .Cells(9, "I").Value
       tblData.Cells(8, LastColumn + 1).Value = .Cells(10, "I").Value
       tblData.Cells(9, LastColumn + 1).Value = .Cells(11, "I").Value
       tblData.Cells(10, LastColumn + 1).Value = .Cells(12, "I").Value
       tblData.Cells(11, LastColumn + 1).Value = .Cells(13, "I").Value
       
       tblData.Range(...).Value = .Range("M2:O21").Value

   End With
LastColumn = 0
End Sub
Die letzte Spalte wird zwar ermittelt, aber diese stimmt nicht ganz. Irgendwie sind temporär noch Werte hinterlegt, so dass bereits gelöschte Zellen nicht mehr beachten werden bzw. als volle Zellen betrachtet werden.
Ebenfalls weiß ich nicht, wie ich den Bereich "M2:O32" nach "LastColum&12" kopieren kann.
Kann mir jemand weiterhelfen?
Beste Grüße
Joshua
Entschuldigt für den Doppelpost.

Mit folgender Variante klappt es wohl besser:
Code:
   tblOne.Range("M2:O32").Copy
   tblData.Range(LastColumn  "13").PasteSpecial xlPasteValues
  
Bin mir nun überhaupt nicht klar, wie ich das Ziel mithilfe von Range definiere, wenn die Spalte eine Variable ist.
Hallöchen,

im Prinzip
...Range("B1:D3")...
bzw.
...Range(Cells(1,2),Cells(3,4))...
bzw.
a=1:b=2:c=3:d=4
...Range(Cells(a,b),Cells(c,d))...