Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Unterschied Thisworkbook und Activeworkbook.

Unterschied Thisworkbook und Activeworkbook.
24.02.2009 15:12:40
Tobias
Ich habe manchmal Probleme mit gewissen Makros,
die sich immer dadurch lösen lassen, dass entweder auf Speichern oder
auf Speichern unter ... gleicher Name ... ersetzen
gehe und das Makro nochmals ausführe.
Ich habe jetzt die Vermutung, dass das daran liegt, das ich statt Activeworkbook.Path Thisworkbook.path verwenden hätte sollen.
Was ist nun der Unterschied?
Vermutung?
Thisworkbook.path (Pfad des dokuments, aus dem das makro abgerufen wird)
Activeworkbook.path (Pfad des dokuments, das zuletzt gespeichert wurde? oder so ähnlich? )
Wie ist das nun?
lg,
tobias
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Unterschied Thisworkbook und Activeworkbook.
24.02.2009 15:16:21
Hajo_Zi
Halo Tobias,
ThisWorkbok ist die Datei mit dem Makro
Active.. ist die aktuelle Datei in Excel

AW: Unterschied Thisworkbook und Activeworkbook.
24.02.2009 15:17:20
Sonnenpeter
Hallo,
Activeworkbook ist immer das Aktive
Thisworkbook ist immer das in dem das/die Makros sich befinden egal ob aktiv oder im Hintergrund
Gruß SP
Anzeige
AW: Unterschied Thisworkbook und Activeworkbook.
24.02.2009 16:09:49
Tobias
Dankeschön!
Problem liegt aber offenkundig woanders, mach mal nen neuen thread auf....
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Unterschiede zwischen ThisWorkbook und ActiveWorkbook in Excel VBA


Schritt-für-Schritt-Anleitung

Um den Unterschied zwischen ThisWorkbook und ActiveWorkbook zu verstehen, folge diesen Schritten:

  1. Öffne Excel und erstelle ein neues Makro.
  2. Definiere die beiden Objekte:
    Dim wbActive As Workbook
    Dim wbThis As Workbook
    Set wbActive = ActiveWorkbook
    Set wbThis = ThisWorkbook
  3. Füge eine MsgBox hinzu, um die Pfade anzuzeigen:
    MsgBox "ActiveWorkbook Path: " & wbActive.Path & vbCrLf & "ThisWorkbook Path: " & wbThis.Path
  4. Führe das Makro aus. Du wirst sehen, dass ActiveWorkbook den Pfad der aktuell aktiven Datei anzeigt, während ThisWorkbook den Pfad der Datei zeigt, in der das Makro gespeichert ist.

Häufige Fehler und Lösungen

  • Fehler: Runtime Error 9: Subscript out of range

    • Lösung: Stelle sicher, dass die Datei, auf die du zugreifen möchtest, tatsächlich geöffnet ist, wenn du ActiveWorkbook verwendest.
  • Fehler: Object variable or With block variable not set

    • Lösung: Überprüfe, ob du ThisWorkbook oder ActiveWorkbook korrekt gesetzt hast. Dies kann häufig vorkommen, wenn du versuchst, auf Eigenschaften eines nicht festgelegten Objekts zuzugreifen.

Alternative Methoden

Wenn du mit ThisWorkbook und ActiveWorkbook arbeitest, gibt es auch alternative Methoden, um auf die Arbeitsmappen zuzugreifen:

  • Verwendung von Workbooks Collection:

    Dim wb As Workbook
    Set wb = Workbooks("DeinWorkbookName.xlsx")
  • Mit With ActiveWorkbook:

    With ActiveWorkbook
      MsgBox .Name
    End With

Diese Methoden können helfen, wenn du spezifische Arbeitsmappen direkt ansprechen möchtest.


Praktische Beispiele

Hier sind einige nützliche Beispiele, wie ThisWorkbook und ActiveWorkbook in VBA verwendet werden können:

  1. Speichern des aktiven Arbeitsbuchs:

    ActiveWorkbook.Save
  2. Schreiben in eine Zelle im ThisWorkbook:

    ThisWorkbook.Sheets("Sheet1").Range("A1").Value = "Hallo Welt"
  3. Zugriff auf den Pfad des aktiven Arbeitsbuchs:

    MsgBox "Der Pfad des aktiven Arbeitsbuchs ist: " & ActiveWorkbook.Path

Diese Beispiele zeigen, wie wichtig es ist, den Unterschied zwischen ThisWorkbook und ActiveWorkbook zu verstehen, besonders wenn es um das Speichern und den Zugriff auf Daten geht.


Tipps für Profis

  • Verwende ThisWorkbook, wenn du sicherstellen möchtest, dass dein Code immer mit der Datei funktioniert, die das Makro enthält. Das ist besonders wichtig, wenn du mehrere Arbeitsmappen geöffnet hast.

  • Nutze ActiveWorkbook, um mit der aktuell geöffneten Datei zu arbeiten. Sei dir jedoch bewusst, dass sich Benutzer möglicherweise in einer anderen Arbeitsmappe befinden, was zu unerwarteten Ergebnissen führen kann.

  • Verwende die Eigenschaften .Name und .Path, um den Status von Arbeitsmappen zu überprüfen. Dies hilft dir, Fehler zu vermeiden und sicherzustellen, dass dein Code wie gewünscht funktioniert.


FAQ: Häufige Fragen

1. Was ist der Hauptunterschied zwischen ThisWorkbook und ActiveWorkbook?
ThisWorkbook bezieht sich auf die Arbeitsmappe, in der das Makro gespeichert ist, während ActiveWorkbook die gerade aktive Arbeitsmappe bezeichnet.

2. Kann ich ThisWorkbook in jedem Makro verwenden?
Ja, ThisWorkbook kann in jedem Makro verwendet werden, das in der Arbeitsmappe gespeichert ist, in der du das Makro ausführst.

3. Was passiert, wenn ich ein Makro aus einer anderen Arbeitsmappe aufrufe?
Das Makro wird in der Arbeitsmappe ausgeführt, in der es gespeichert ist, und ThisWorkbook wird auf diese Datei verweisen, während ActiveWorkbook auf die aktuell aktive Datei verweist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige