VBA-Arbeitsmappenname (Get, Set, ohne Erweiterung)

In diesem Tutorial wird gezeigt, wie Sie den Arbeitsmappennamen in VBA abrufen und festlegen.

Wir können den Namen der aktiven Arbeitsmappe in VBA abrufen oder festlegen oder alle geöffneten Arbeitsmappen in Excel durchlaufen und den Namen jeder einzelnen mit einer VBA-Schleife abrufen oder festlegen.

Arbeitsmappennamen abrufen

Um den Namen der aktiven Arbeitsmappe zu erhalten, müssen wir die name-Eigenschaft des workbooks-Objekts verwenden.

12345 Unter GetWorkbookName()Dim strWBName als StringstrWBName = ActiveWorkbook.NameMsgBox strWBNameEnd Sub

Wenn wir den obigen Code ausführen, wird auf dem Bildschirm ein Meldungsfeld mit dem Namen der aktiven Arbeitsmappe angezeigt.

Um alle aktiven Arbeitsmappen zu durchlaufen und die Namen der Arbeitsmappen an Excel zurückzugeben, können wir den folgenden Code ausführen:

1234567 Unter GetWorkbookNames()Dim wb als ArbeitsmappeFür jedes wb in ArbeitsmappenActiveCell = wb.NameActiveCell.Offset(1, 0).WählenNächsteEnd Sub

Die obigen Beispiele enthalten die Erweiterung der Datei (zB xlsx). Wenn Sie die Erweiterung nicht einschließen möchten, gibt es einige Methoden, die wir verwenden können, um nur den Dateinamen der Arbeitsmappe zu erhalten.

Arbeitsmappennamen ohne Erweiterung abrufen

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

12345 Unter GetWorkbookName()Dim strWBName als StringstrWBName = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)MsgBox strWBNameEnd Sub

Wir können die Funktionen LEFT und LEN verwenden, um 5 Zeichen vom Ende des Dateinamens zu entfernen:

12345 Unter GetWorkbookName()Dim strWBName als StringstrWBName = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 55)MsgBox strWBNameEnd Sub

Festlegen des Arbeitsmappennamens

Um den Namen einer Arbeitsmappe in VBA festzulegen, verwenden wir weiterhin die Name-Eigenschaft der Arbeitsmappe, können diese Methode jedoch nicht verwenden, um den Namen der aktiven Arbeitsmappe zu ändern. Dies liegt daran, dass die aktive Arbeitsmappe geöffnet ist und ein Dateizugriffsfehler auftritt. Um dies zu umgehen, können wir die Datei unter einem neuen Namen speichern und dann die alte Datei löschen.

12345678910 Öffentliches UntersetWorkbookName()Dim strPath As StringDim strNewName als StringDim strOldName As StringstrOldName = ActiveWorkbook.NamestrNewName = InputBox("Bitte neuen Namen für Arbeitsmappe eingeben")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameKill strPath & "/" & strOldNameEnd Sub

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

123 Öffentliche Sub RenameWorkbook()Name "C:\Data\MyFile.xlsx" Als "C:\Data\MyNewFile.xlsx"End Sub

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave