Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: ActiveWorkbook.Name

ActiveWorkbook.Name
25.05.2004 10:45:22
Marc
Follgendes Problem:
bei dem VBA befehl ActiveWorkbook.Name wird der Name der aktuellen Datei ausgegeben, z.b. Müller_Jens.xls wenn ich aber eine neue tabelle öffne dann heißt die tabelle aber nur Mappe1 (OHNE .xls)
wie kann ich das umgehen da ich das brauche um die datei neu zu speichern und ich nicht die hälfte aller dateien mit *.xls.xls haben möchte (das würde passieren wenn ich noch >> & ".xls" wer kann mir helfen?
mfg marc
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveWorkbook.Name
Andreas
If UCase(Right(a, 4)) ".XLS" Then a = a & ".xls"
MsgBox a
Klappt danke o.T.
26.05.2004 08:54:37
marc
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

ActiveWorkbook.Name in VBA


Schritt-für-Schritt-Anleitung

Um den Namen des aktiven Arbeitsbuchs in VBA zu erhalten, kannst du den Befehl ActiveWorkbook.Name verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung, wie du vorgehen kannst:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (dein Arbeitsbuch)", wähle "Einfügen" und dann "Modul".

  3. Schreibe den folgenden Code in das Modul:

    Sub GetActiveWorkbookName()
       Dim workbookName As String
       workbookName = ActiveWorkbook.Name
       MsgBox "Der Name des aktiven Arbeitsbuchs ist: " & workbookName
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um den Namen des aktiven Arbeitsbuchs anzuzeigen.


Häufige Fehler und Lösungen

Ein häufiger Fehler, den du beim Arbeiten mit ActiveWorkbook.Name erleben kannst, ist, dass der Name einer neuen, nicht gespeicherten Arbeitsmappe nur "Mappe1" lautet. Um sicherzustellen, dass du den richtigen Dateinamen erhältst, kannst du folgendes überprüfen:

  • Problem: Der Name der Datei wird nicht angezeigt, sondern nur "Mappe1".

    • Lösung: Stelle sicher, dass die Arbeitsmappe gespeichert ist. Du kannst dies mit einer Bedingung überprüfen:
    If ActiveWorkbook.Path = "" Then
        MsgBox "Die Arbeitsmappe ist nicht gespeichert."
    Else
        MsgBox "Der Name der Arbeitsmappe ist: " & ActiveWorkbook.Name
    End If

Alternative Methoden

Neben ActiveWorkbook.Name gibt es auch andere Methoden, um den Namen eines Arbeitsbuchs zu erhalten:

  • ThisWorkbook.Name: Dies gibt den Namen des aktuellen Arbeitsbuchs zurück, in dem das Makro ausgeführt wird, unabhängig von der aktiven Arbeitsmappe.

    MsgBox "Der Name dieses Arbeitsbuchs ist: " & ThisWorkbook.Name
  • Application.ActiveWorkbook: Diese Methode ist nützlich, wenn du sicherstellen möchtest, dass du das aktive Arbeitsbuch verwendest:

    MsgBox "Aktives Arbeitsbuch: " & Application.ActiveWorkbook.Name

Praktische Beispiele

Hier sind einige praktische Beispiele, die zeigen, wie du den Namen des aktiven Arbeitsbuchs in verschiedenen Kontexten verwenden kannst:

  1. Speichern mit dem richtigen Namen: Wenn du das aktive Arbeitsbuch mit dem richtigen Namen speichern möchtest, kannst du Folgendes verwenden:

    Sub SaveActiveWorkbook()
       Dim workbookName As String
       workbookName = ActiveWorkbook.Name
       If Right(workbookName, 4) <> ".xls" Then
           workbookName = workbookName & ".xls"
       End If
       ActiveWorkbook.SaveAs Filename:=workbookName
    End Sub
  2. Überprüfen des Arbeitsbuchnamens: Du kannst auch eine Funktion erstellen, die prüft, ob der Name des aktiven Arbeitsbuchs korrekt ist:

    Sub CheckWorkbookName()
       Dim workbookName As String
       workbookName = ActiveWorkbook.Name
       If InStr(workbookName, ".xls") = 0 Then
           MsgBox "Bitte speichere die Datei mit der Endung .xls!"
       End If
    End Sub

Tipps für Profis

  • Verwende Option Explicit: Dies zwingt dich, alle Variablen zu deklarieren, was Fehler reduziert und die Lesbarkeit des Codes verbessert.
  • Vermeide Hardcodierung: Verwende dynamische Dateinamen oder Pfade anstelle von festen Strings, um Flexibilität zu gewährleisten.
  • Nutze Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um Probleme beim Zugriff auf ActiveWorkbook zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich den vollständigen Pfad des aktiven Arbeitsbuchs erhalten?
Du kannst den vollständigen Pfad mit ActiveWorkbook.FullName abrufen:

MsgBox "Der vollständige Pfad des aktiven Arbeitsbuchs ist: " & ActiveWorkbook.FullName

2. Was passiert, wenn ich versuche, ActiveWorkbook.Name zu verwenden, bevor ich eine Datei geöffnet habe?
In diesem Fall wird ein Laufzeitfehler auftreten, da kein aktives Arbeitsbuch vorhanden ist. Stelle sicher, dass du vorher das Arbeitsbuch öffnest oder speicherst.

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