Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA - Definierte Zellen und Bereiche in eine andere Tabelle kopieren
#1
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
Antworten Top
#2
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.
Antworten Top
#3
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))...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • joshua
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste