kann ich den namen der aktiven arbeitsmappe mittels vba ermitteln und ihn in einer variablen speichern, damit ich diese arbeitsmappe eindeutig ansprechen kann?
gruss rahel
wie schaut's mit:
Gruß
Micha
Um den Namen der aktiven Arbeitsmappe in Excel mittels VBA zu ermitteln und ihn in einer Variablen zu speichern, kannst du folgende Schritte befolgen:
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
Klicke im Menü auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
Füge den folgenden VBA-Code in das Modul ein:
Sub NamenDerAktivenDateiErmitteln()
Dim a As String
a = ActiveWorkbook.Name
MsgBox "Der Name der aktiven Arbeitsmappe ist: " & a
End Sub
Schließe den VBA-Editor.
Führe das Makro aus, indem du wieder zu Excel zurückkehrst und ALT + F8 drückst. Wähle das Makro NamenDerAktivenDateiErmitteln aus und klicke auf Ausführen.
Jetzt wird dir der Name der aktiven Arbeitsmappe in einem Dialogfeld angezeigt.
Fehler: „Laufzeitfehler 1004“
Fehler: „Objektvariable nicht gesetzt“
ActiveWorkbook muss in einem Kontext verwendet werden, wo eine Arbeitsmappe aktiv ist.Falls du keine VBA verwenden möchtest, kannst du den Namen der aktiven Arbeitsmappe auch manuell ermitteln:
=CELL("filename") verwendest. Diese gibt den vollständigen Pfad der Datei aus, der Name kann dann aus dem Pfad extrahiert werden.Hier sind einige Beispiele, wie du den Namen der aktiven Arbeitsmappe weiterverwenden kannst:
Speichern des Namens in einer Variablen und Nutzung in einer Nachricht:
Sub BeispielMitNachricht()
Dim dateiName As String
dateiName = ActiveWorkbook.Name
MsgBox "Die Datei " & dateiName & " wurde erfolgreich geladen."
End Sub
Erstellen einer neuen Arbeitsmappe mit dem Namen der aktiven Arbeitsmappe:
Sub NeueDateiMitAktivemNamen()
Dim aktiverName As String
aktiverName = ActiveWorkbook.Name
Workbooks.Add.Name = "Kopie von " & aktiverName
End Sub
ThisWorkbook anstelle von ActiveWorkbook: Wenn du sicherstellen möchtest, dass du den Namen der Arbeitsmappe verwendest, in der dein Code läuft, nutze ThisWorkbook.Name, um Verwirrungen zu vermeiden.1. Wie kann ich den Namen der aktiven Datei in einer Zelle anzeigen?
Du kannst die Formel =CELL("filename") verwenden, um den Pfad und Namen der aktiven Arbeitsmappe anzuzeigen. Beachte, dass die Datei gespeichert sein muss.
2. Was ist der Unterschied zwischen ActiveWorkbook und ThisWorkbook?
ActiveWorkbook bezieht sich auf die aktuell aktive Arbeitsmappe, während ThisWorkbook die Arbeitsmappe bezeichnet, in der das VBA-Skript ausgeführt wird.