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

Forumthread: Workbook Name ohne Extension auslesen

Workbook Name ohne Extension auslesen
04.03.2020 15:45:01
Marc
Hallo zusammen,
ich habe folgende Codezeile geschrieben:
Dateiname = Application.ActiveWorkbook.Name
Nun schreibt er mir aber in die Variable den kompletten Pfad (also text.XLSX). Ich möchte aber nur test in der Variable stehen haben, also ohne Extension.
Wie bekomme ich das hin?
Lieben Gruß
Marc
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Workbook Name ohne Extension auslesen
04.03.2020 15:56:13
Nepumuk
Hallo Marc,
teste mal:
Public Sub test()
    Dim strName As String
    strName = ThisWorkbook.Name
    MsgBox Left$(strName, InStrRev(strName, ".") - 1)
End Sub

Gruß
Nepumuk
Anzeige
AW: Workbook Name ohne Extension auslesen
04.03.2020 16:00:55
Marc
Sehr cool!!
Danke Nepumuk!!
AW: Workbook Name ohne Extension auslesen
04.03.2020 16:20:37
UweD
Hallo
auch möglich:
MsgBox Split(ThisWorkbook.Name, ".")(0)
LG UweD
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Workbook Name ohne Extension auslesen


Schritt-für-Schritt-Anleitung

Um den Namen des Arbeitsbuchs ohne die Dateiendung in Excel VBA auszulesen, kannst du folgende Schritte befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (drücke ALT + F11).

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject (dein Arbeitsbuchname)" klickst und "Einfügen" > "Modul" auswählst.

  3. Kopiere und füge den folgenden Code in das Modul ein:

    Sub WorkbookNameWithoutExtension()
       Dim strName As String
       strName = ThisWorkbook.Name
       MsgBox Left$(strName, InStrRev(strName, ".") - 1)
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um den Namen des Arbeitsbuchs ohne die Endung anzuzeigen.


Häufige Fehler und Lösungen

  • Fehler: Der Code gibt den vollen Pfad anstatt nur den Dateinamen zurück.

    • Lösung: Stelle sicher, dass du ThisWorkbook.Name verwendest, um den Namen des aktuellen Arbeitsbuchs zu erhalten.
  • Fehler: Die MsgBox zeigt einen Fehler an.

    • Lösung: Überprüfe, ob das Arbeitsbuch tatsächlich einen Namen hat und ob das InStrRev korrekt verwendet wird, um die Position des Punktes zu finden.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, den Namen des Arbeitsbuchs ohne die Dateiendung auszulesen:

  1. Verwendung von Split:

    MsgBox Split(ThisWorkbook.Name, ".")(0)
  2. Verwendung von ActiveWorkbook: Wenn du den Namen des aktiven Arbeitsbuchs auslesen möchtest, kannst du ActiveWorkbook.Name verwenden:

    MsgBox Left$(ActiveWorkbook.Name, InStrRev(ActiveWorkbook.Name, ".") - 1)

Praktische Beispiele

Hier sind einige praktische Beispiele, um den Namen des Arbeitsbuchs ohne Extension zu erhalten:

  • Beispiel 1: Grundlegendes Auslesen des Arbeitsbuchnamens:

    Sub GetWorkbookName()
       Dim workbookName As String
       workbookName = ThisWorkbook.Name
       MsgBox "Der Name des Arbeitsbuchs ist: " & Left$(workbookName, InStrRev(workbookName, ".") - 1)
    End Sub
  • Beispiel 2: Nutzung in einer Funktion:

    Function GetWorkbookNameWithoutExtension() As String
       GetWorkbookNameWithoutExtension = Left$(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1)
    End Function

Tipps für Profis

  • Nutze die Funktion ThisWorkbook.Name anstelle von ActiveWorkbook.Name, um sicherzustellen, dass du den Namen des Arbeitsbuchs verwendest, in dem der Code ausgeführt wird.
  • Wenn du den Namen in einer Variablen speichern möchtest, kannst du Dim verwenden, um den Typ der Variablen festzulegen, z.B. Dim strName As String.
  • Denke daran, dass VBA case-sensitive ist. Achte also auf die Schreibweise von ThisWorkbook und ActiveWorkbook.

FAQ: Häufige Fragen

1. Wie kann ich den Namen eines anderen Arbeitsbuchs ohne Extension auslesen?
Du kannst das Arbeitsbuch mit Workbooks("DeinArbeitsbuch.xlsx").Name ansprechen und dann die gleiche Methode wie oben anwenden, um die Dateiendung zu entfernen.

2. Funktioniert das auch in Excel 365?
Ja, der Code funktioniert in allen modernen Excel-Versionen, die VBA unterstützen, einschließlich Excel 365.

3. Was ist der Unterschied zwischen ThisWorkbook und ActiveWorkbook?
ThisWorkbook bezieht sich auf das Arbeitsbuch, in dem der Code läuft, während ActiveWorkbook das aktuell aktive Arbeitsbuch ist, was ein anderes sein kann.

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