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

Arbeitsmappe in VBA umbenennen

Forumthread: Arbeitsmappe in VBA umbenennen

Arbeitsmappe in VBA umbenennen
18.10.2002 19:03:28
Markus

Hallo,

standardmässig heisst jede neue Arbeitsmappe in Excel "Mappe1.xls", der Name wird dann beim Speichern verändert.
Ich möchte in VBA den Namen der Mappe ändern, ohne zu speichern.

ActiveWorkbook.Name ="NeuerName" geht nicht, weil schreibgeschützt.
Weiss jemand wie es geht?

Markus

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Arbeitsmappe in VBA umbenennen
18.10.2002 19:26:48
Hajo_Zi
Hallo Markus

eine neue Datei hat noch keinen Dateityp, da noch nicht gespeichert.

Möchtest du in der Titelzeile Mappe1 ersetzen

ActiveWindow.Caption = "Titel"

was aber kleinen Einfluß auf den Dateinamen, der Dir beim speichern angezeigt wird hat.

Gruß Hajo

Re: Arbeitsmappe in VBA umbenennen
18.10.2002 20:27:31
Markus
Hallo Hajo,

nein, es geht nicht nur darum, was in der Caption steht (aber Danke für die Zeile), sondern dem User soll über das Makro schon ein Name für die Datei vorgeschlagen werden. Mglw. mache ich es etwas unsauber, indem ich Datei einmal speichern (in Temp) und dann sofort wieder löschen lasse.
Markus

Anzeige
Re: Arbeitsmappe in VBA umbenennen
18.10.2002 20:40:13
Hajo_Zi
Hallo Markus

so ganz ist mir noch nicht klar was Du möchtest, neuer Versuch
Application.Dialogs(xlDialogSaveAs).Show "Test"

Gruß Hajo

Re: Arbeitsmappe in VBA umbenennen
18.10.2002 22:03:57
Markus
Hi Hajo,

also: um was es eigentlich geht:

Ich habe eine Excel-Arbeitsmappe mit sehr vielen Blättern und Daten (ungefähr 2.5 MB insgesamt) und ziemlich viel VBA-Code drumherum. Das VBA macht, dass man sehr viele Auswertungen und Einstellungen auf dem ersten Sheet machen kann (es handelt sich um einen Bestellschein). Der soll dann losgeschickt werden, per Mail und natülrich will ich nicht die ganzen 2,5 MB mit allen Daten wegschicken. Deswegen gibt es eine Schaltfläche die einfach die Einträge aus Tabelle1 in ein neues Excel-dokument kopieren und das kann dann weg. Um dieses zweite Workbook vom ersten zu unterscheiden möchte ich Username und Erstellungsdatum als Name der Datei festlegen lassen.
Das ist vielleicht etwas konfus, aber ich hoffe, man versteht es.
ich dachte ganz naiv, dass man den Namen, den man oben bei Excel sieht (eben "Mappe1.xls" als default) einfach ändern kann, weil es sich ja auch um eine Objekt-Eigenschaft handeln muss (irgendwie).
Wenn Dir mit diesen Informationen, noch etwas einfällt: nur zu und vielen Dank.

Markus

Anzeige
Re: Arbeitsmappe in VBA umbenennen
18.10.2002 22:12:49
Hajo_Zi
Hallo Markus

lege das neue Register in Deiner Datei an (kannst es ja später löschen) Gebe ihm den Namen den die Datei hat und dann folgender Hinweis

322. Einzelnes Register speichern
Sub Blattspeichern()
ActiveSheet.Copy
ActiveWorkbook.SaveAs FileName:="D:\Eigene Dateien\Hajo\" & ActiveSheet.Name & ".xls"
End Sub
Ansatz von guenter


Gruß Hajo

Anzeige
;
Anzeige

Infobox / Tutorial

Arbeitsmappe in VBA umbenennen


Schritt-für-Schritt-Anleitung

Um den Namen einer Excel-Arbeitsmappe in VBA zu ändern, ohne sie zu speichern, kannst du den Namen der Arbeitsmappe nicht direkt über ActiveWorkbook.Name ändern, da dies schreibgeschützt ist. Stattdessen kannst du die Titelzeile des Fensters ändern oder ein neues Workbook erstellen und diesen Namen zuweisen. Hier ist eine einfache Anleitung:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel durch Drücken von ALT + F11.

  2. Füge ein neues Modul ein: Rechtsklick im Projekt-Explorer auf "VBAProject (DeineDatei.xls)", dann "Einfügen" > "Modul".

  3. Füge den folgenden Code ein:

    Sub ArbeitsmappeUmbenennen()
       Dim neuerName As String
       neuerName = "NeuerName" ' Hier den gewünschten Namen eingeben
       ActiveWindow.Caption = neuerName ' Ändert den Titel der Arbeitsmappe
    End Sub
  4. Führe das Makro aus, um die Änderungen zu sehen.


Häufige Fehler und Lösungen

  • Fehler: "ActiveWorkbook.Name ist schreibgeschützt."

    • Lösung: Du kannst den Namen der Arbeitsmappe nicht direkt ändern. Verwende stattdessen ActiveWindow.Caption, um den Titel zu ändern.
  • Fehler: "Das Makro funktioniert nicht wie erwartet."

    • Lösung: Stelle sicher, dass das Makro im richtigen Kontext ausgeführt wird. Prüfe auch, ob du das aktive Workbook korrekt referenzierst.

Alternative Methoden

Eine alternative Methode besteht darin, ein neues Workbook zu erstellen und dabei den gewünschten Namen zu verwenden:

Sub NeuesWorkbookErstellen()
    Dim wb As Workbook
    Set wb = Workbooks.Add
    wb.SaveAs FileName:="D:\Eigene Dateien\" & "NeuerName" & ".xls"
End Sub

Mit dieser Methode wird eine neue Excel-Arbeitsmappe erstellt und sofort gespeichert.


Praktische Beispiele

  1. Ändern des Titels einer bestehenden Arbeitsmappe:

    Sub TitelAendern()
       ActiveWindow.Caption = "Mein neuer Titel"
    End Sub
  2. Erstellen und Speichern eines neuen Workbooks mit einem benutzerdefinierten Namen:

    Sub SpeichereNeuesWorkbook()
       Dim wb As Workbook
       Set wb = Workbooks.Add
       Dim benutzername As String
       benutzername = Environ("Username") ' Holt den Benutzernamen
       wb.SaveAs FileName:="D:\Eigene Dateien\" & benutzername & "_" & Format(Now(), "yyyy-mm-dd_hh-mm-ss") & ".xls"
    End Sub

Tipps für Profis

  • Nutze ThisWorkbook anstelle von ActiveWorkbook, um sicherzustellen, dass du immer auf die Arbeitsmappe zugreifst, in der das Makro gespeichert ist.
  • Überlege, wie du mit vba worksheet umbenennen arbeitest, um die Blätter innerhalb deiner Arbeitsmappe besser zu organisieren.
  • Experimentiere mit vba workbook.name, um weitere Eigenschaften der Arbeitsmappe zu nutzen.

FAQ: Häufige Fragen

1. Kann ich den Namen der Arbeitsmappe ohne Speichern ändern? Leider nicht. Du kannst nur den Titel der Arbeitsmappe ändern, nicht den tatsächlichen Dateinamen.

2. Wie kann ich den Namen beim Speichern vorschlagen? Verwende Application.Dialogs(xlDialogSaveAs).Show, um dem Benutzer ein Dialogfeld zum Speichern der Datei anzuzeigen und einen Namen vorzuschlagen.

3. Ist es möglich, mehrere Blätter gleichzeitig umzubenennen? Ja, du kannst eine Schleife verwenden, um alle Blätter in einer Arbeitsmappe umzubenennen.

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