VBA – Arbeitsmappenname (Ermitteln, Festlegen, ohne Erweiterung)

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Zakarya El Oirzadi

Last updated on Dezember 23, 2022

In diesem Tutorial zeigen wir Ihnen, wie Sie den Namen der Arbeitsmappe in VBA abrufen und festlegen können.

Wir können den Namen der aktuellen Arbeitsmappe in VBA abrufen bzw. festlegen oder alle in Excel geöffneten Arbeitsmappen durchlaufen und den Namen jeder einzelnen von ihnen mithilfe einer VBA-Schleife abrufen oder festlegen.

Den Namen der Arbeitsmappe abrufen

Um den Namen der aktuellen Arbeitsmappe zu ermitteln, müssen wir die Eigenschaft Name des Workbook-Objekts verwenden.

Sub NameDerArbeitsmappeErmitteln()
  Dim strWBName As String
  strWBName = ActiveWorkbook.Name
  MsgBox strWBName
End Sub

Wenn wir den obigen Code ausführen, wird eine Meldungsbox mit dem Namen der aktuellen Arbeitsmappe auf dem Bildschirm angezeigt.

Um alle aktuellen Arbeitsmappen in einer Schleife zu durchlaufen und ihre Namen an Excel zurückzugeben, können wir den folgenden Code ausführen:

Sub ArbeitsmappenNamenErmitteln()
  Dim wb As Workbook
  For Each wb In Workbooks
    ActiveCell = wb.Name
    ActiveCell.Offset(1, 0).Select
  Next
End Sub

Die obigen Beispiele enthalten die Erweiterung der Datei (z. B. xlsx). Wenn Sie die Erweiterung nicht mit angeben möchten, gibt es einige Methoden, mit denen Sie nur den Dateinamen der Arbeitsmappe erhalten können.

Den Namen der Arbeitsmappe ohne Erweiterung abrufen

Wir können die Funktionen LEFT und INSTR verwenden, um alle Zeichen nach dem Punkt im Dateinamen zu entfernen:

Sub ArbeitsmappenNamenErmitteln()
 Dim strWBName As String
 strWBName = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
 MsgBox strWBName
End Sub

Mit den Funktionen LEFT und LEN können wir 5 Zeichen vom Ende des Dateinamens entfernen:

Sub ArbeitsmappenNamenErmitteln()
 Dim strWBName As String
 strWBName = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 5)
 MsgBox strWBName
End Sub

Den Namen der Arbeitsmappe festlegen

Um den Namen einer Arbeitsmappe in VBA festzulegen, verwenden wir immer noch die Eigenschaft Name der Arbeitsmappe, allerdings können wir mit dieser Methode nicht den Namen der aktuellen Arbeitsmappe ändern. Das liegt daran, dass die Aktive Arbeitsmappe geöffnet ist und ein Dateizugriffsfehler auftreten würde. Um dies zu umgehen, können wir die Datei unter einem neuen Namen speichern und dann die alte Datei löschen.

Public Sub ArbeitsmappenNamenFestlegen()
 Dim strPfad As String
 Dim strNeuerName As String
 Dim strAlterName As String
 strAlterName = ActiveWorkbook.Name
 strNeuerName = InputBox("Bitte neuen Namen für Arbeitsmappe eingeben")
 strPfad = ActiveWorkbook.Path
 ActiveWorkbook.SaveAs strPfad & "/" & strNeuerName
 Kill strPfad & "/" & strAlterName
End Sub

Um eine Arbeitsmappe, die nicht geöffnet ist, umzubenennen, können wir die Methode Name verwenden.

Public Sub ArbeitsmappeUmbenennen()
 Name "C:\Data\MeineDatei.xlsx" As "C:\Data\MeineNeueDatei.xlsx"
End Sub
vba-free-addin

Add-In für VBA-Code-Beispiele

Auf alle Code-Beispiele aus unserer Website einfach zugreifen.

Navigieren Sie einfach zum Menü, klicken Sie darauf und der Code wird direkt in Ihr Modul eingefügt. .xlam add-in.

(Keine Installation erforderlich!)

Kostenloser Download

Return to VBA Code Examples