Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ActiveWorkbook.Sheets

Forumthread: ActiveWorkbook.Sheets

ActiveWorkbook.Sheets
24.09.2015 08:28:17
rajko
ActiveWorkbook.Sheets("Tabelle1").Range("B27") = ActiveWorkbook.Sheets("Tabelle2").Range("L27")
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.

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveWorkbook.Sheets
24.09.2015 08:39:14
ChrisL
Hi
Der Wert von Tabelle2, Zelle L27 wird in Tabelle1, Zelle B27 geschrieben.
Bezogen auf die gerade aktive Arbeitsmappe.
cu
Chris
Anzeige
;
Anzeige

Infobox / Tutorial

ActiveWorkbook.Sheets in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke im Projektfenster mit der rechten Maustaste auf deine Arbeitsmappe und wähle Einfügen > Modul.
  3. Schreibe deinen VBA-Code:

    • Du kannst den folgenden Code verwenden, um Daten zwischen zwei Blättern zu kopieren:
    Sub DatenKopieren()
       ActiveWorkbook.Sheets("Tabelle1").Range("B27") = ActiveWorkbook.Sheets("Tabelle2").Range("L27")
    End Sub
  4. Führe das Makro aus:

    • Drücke F5 oder klicke auf Ausführen, um das Makro auszuführen.
  5. Überprüfe das Ergebnis:

    • Gehe zurück zu Excel und überprüfe, ob die Daten korrekt kopiert wurden.

Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs"

    • Lösung: Stelle sicher, dass die Blattnamen korrekt geschrieben sind. Zum Beispiel, anstelle von "Tabelle1" könnte der Name "Sheet1" sein, je nach deiner Excel-Version.
  • Fehler: "Objekt erforderlich"

    • Lösung: Überprüfe, ob du das aktive Arbeitsbuch korrekt referenzierst. Manchmal kann es nötig sein, ThisWorkbook zu verwenden, wenn du sicherstellen möchtest, dass der Code auf das Workbook verweist, in dem das Makro gespeichert ist.

Alternative Methoden

  • 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

Praktische Beispiele

  1. 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
  2. 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

Tipps für Profis

  • Verwende Fehlerbehandlungsroutinen in deinem VBA-Code, um potenzielle Laufzeitfehler zu vermeiden.
  • Dokumentiere deinen Code gut, um später besser nachvollziehen zu können, was jeder Teil macht.
  • Experimentiere mit ActiveWorkbook.worksheets vba-Funktionen, um deine Automatisierung zu erweitern.

FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige