Hallo in die Runde,
kann mir jmd kurz helfen?
Wie soll ich diesen Code interpretieren? Ich verstehe ihn nicht. zumindest bekomme ich ihn nicht angepasst.
Öffne Excel und den VBA-Editor:
ALT + F11, um den VBA-Editor zu öffnen.Füge ein neues Modul hinzu:
Einfügen > Modul.Schreibe deinen VBA-Code:
Sub DatenKopieren()
ActiveWorkbook.Sheets("Tabelle1").Range("B27") = ActiveWorkbook.Sheets("Tabelle2").Range("L27")
End Sub
Führe das Makro aus:
F5 oder klicke auf Ausführen, um das Makro auszuführen.Überprüfe das Ergebnis:
Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs"
Fehler: "Objekt erforderlich"
ThisWorkbook zu verwenden, wenn du sicherstellen möchtest, dass der Code auf das Workbook verweist, in dem das Makro gespeichert ist.Mit ActiveWorkbook.Worksheets:
Statt ActiveWorkbook.Sheets kannst du auch ActiveWorkbook.Worksheets verwenden, was explizit auf Arbeitsblätter verweist:
ActiveWorkbook.Worksheets("Tabelle1").Range("B27") = ActiveWorkbook.Worksheets("Tabelle2").Range("L27")
Mit der With-Anweisung:
Du kannst die With-Anweisung verwenden, um den Code lesbarer zu machen:
With ActiveWorkbook.Worksheets("Tabelle1")
.Range("B27") = ActiveWorkbook.Worksheets("Tabelle2").Range("L27")
End With
Werte von mehreren Zellen kopieren:
Sub MehrereZellenKopieren()
Dim i As Integer
For i = 1 To 10
ActiveWorkbook.Sheets("Tabelle1").Cells(i, 2).Value = ActiveWorkbook.Sheets("Tabelle2").Cells(i, 12).Value
Next i
End Sub
Daten zwischen aktiven Arbeitsblättern:
Wenn du mit dem aktiven Arbeitsblatt arbeiten möchtest, kannst du ActiveSheet verwenden:
Sub AktivesBlattKopieren()
ActiveSheet.Range("B27").Value = ActiveWorkbook.Sheets("Tabelle2").Range("L27").Value
End Sub
1. Was ist der Unterschied zwischen ActiveWorkbook und ThisWorkbook? ActiveWorkbook bezieht sich auf die aktuell aktive Arbeitsmappe, während ThisWorkbook die Arbeitsmappe ist, in der das Makro gespeichert ist.
2. Kann ich auch andere Zellformate kopieren? Ja, du kannst nicht nur Werte, sondern auch Zellformate, Formeln und Kommentare über VBA kopieren.
3. Wie kann ich den Code anpassen, um Daten von mehreren Blättern zu kopieren? Du kannst einfach eine Schleife verwenden, um durch die Namen der Arbeitsblätter zu iterieren und die gewünschten Zellen zu kopieren.