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

Forumthread: Datei unter neuem Namen via VBA speichern

Datei unter neuem Namen via VBA speichern
01.09.2004 19:30:34
k.reffert
Hallo, ihr tüchtigen VauBeAler,
aus einer so genannten Rohtabelle entwickle ich allmonatlich diverse andere Dateien, außerdem wird am Monatsende aus der Rohtabelle_Monat1 die Rohtabelle_Monat2, meine Prozeduren werden also immer in die Folgemonatstabelle übernommen. Soweit klar?
Meine Prozedur beginnt also erstmal mit der Sicherung der vorhandenen Tabelle, dann wird Code ausgeführt, und diese veränderte Tabelle möchte ich nun unter dem Rohtabellen-Namen, ERGÄNZT um einen Zusatz, speichern. Da ja der Rohtabellen-Name monatlich wechselt (der Pfad ist allerdings immer der gleiche), suche ich nach einer Lösung:
quote:

Sub Alphaliste()
' Rohtabelle Test1 sichern
Application.Goto Reference:="R20C1"
ActiveWorkbook.Save
.diverse Codezeilen
' Als Alphaliste speichern
ActiveWorkbook.SaveAs Filename:= _
"C:\Listen\Test1_alpha.xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=True
End Sub

:unquote
Wie nur kriege ich VBA dazu, an den VORHANDENEN Dateinamen den Zusatz "_alpha" anzuhängen?
Forever grateful für jeden Hinweis,
Karin-die-unermüdliche-Fragestellerin
PS: der Block "Als Alphaliste speichern" stammt vom Recorder; der Dateiname wurde hier händisch ergänzt, was ich ja gerade automatisieren will... Ein Popup mit der Aufforderung, einen neuen Namen zu vergeben, wäre auch ok...
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Datei unter neuem Namen via VBA speichern
01.09.2004 19:38:56
chris

Sub Alphaliste()
' Rohtabelle Test1 sichern
Application.Goto Reference:="R20C1"
ActiveWorkbook.Save
.diverse Codezeilen
cb = inputbox("dateiname")
' Als Alphaliste speichern
ActiveWorkbook.SaveAs Filename:= _
"C:\Listen\" & cb & "xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=True
End Sub

Anzeige
AW: Datei unter neuem Namen via VBA speichern
k.reffert
@ Chris B, das war klasse!
Deine Lösung mit der Input-Box ist genau richtig, nur das
& "xls"
musste ich streichen, weil mein File sonst zu "Test1_alphaxls.xls" wird...
Tausend Dank an dich!
Gruss,
Karin
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Datei unter neuem Namen speichern mit VBA


Schritt-für-Schritt-Anleitung

Um eine Datei unter einem neuen Namen via VBA zu speichern, gehe wie folgt vor:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen > Modul.
  3. Schreibe den VBA-Code:

    • Füge den folgenden Code in das Modul ein:
    Sub Alphaliste()
       ' Rohtabelle sichern
       Application.Goto Reference:="R20C1"
       ActiveWorkbook.Save
    
       ' Benutzer nach Dateinamen fragen
       Dim cb As String
       cb = InputBox("Bitte Dateinamen eingeben:", "Dateiname")
    
       ' Als neue Datei speichern
       ActiveWorkbook.SaveAs Filename:= _
       "C:\Listen\" & cb & ".xls", FileFormat:=xlNormal, _
       Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
       CreateBackup:=True
    End Sub
  4. Führe das Makro aus:

    • Schließe den VBA-Editor und gehe zurück zu Excel.
    • Drücke ALT + F8, wähle Alphaliste aus und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Fehler: Ungültiger Dateiname

    • Lösung: Stelle sicher, dass der Benutzer einen gültigen Dateinamen eingibt, der keine Sonderzeichen enthält.
  • Fehler: Datei kann nicht gespeichert werden

    • Lösung: Überprüfe den Speicherort und stelle sicher, dass Du die erforderlichen Berechtigungen hast, um dort zu speichern.
  • Fehler: Makro funktioniert nicht

    • Lösung: Überprüfe, ob Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Trust Center und aktiviere die Makros.

Alternative Methoden

Eine andere Möglichkeit, eine Excel-Datei zu speichern, besteht darin, den Application.GetSaveAsFilename-Dialog zu verwenden. Hier ein Beispiel:

Sub SpeichernMitDialog()
    Dim Dateiname As Variant
    Dateiname = Application.GetSaveAsFilename(FileFilter:="Excel-Dateien (*.xls), *.xls")

    If Dateiname <> False Then
        ActiveWorkbook.SaveAs Filename:=Dateiname, FileFormat:=xlNormal
    End If
End Sub

Praktische Beispiele

Hier sind zwei Beispiele für das Speichern einer Arbeitsmappe mit VBA:

  1. Speichern unter neuem Namen mit Zusatz:

    Sub SpeichernMitZusatz()
       Dim NeuerName As String
       NeuerName = "Rohtabelle_" & Format(Date, "MM") & "_alpha"
       ActiveWorkbook.SaveAs Filename:="C:\Listen\" & NeuerName & ".xls"
    End Sub
  2. Speichern der Arbeitsmappe in einem bestimmten Format:

    Sub SpeichernImXLSXFormat()
       ActiveWorkbook.SaveAs Filename:="C:\Listen\NeuerDateiname.xlsx", FileFormat:=xlOpenXMLWorkbook
    End Sub

Tipps für Profis

  • Verwende die FileDialog-Objekte, um Benutzern eine benutzerfreundliche Schnittstelle zum Speichern von Dateien zu bieten.
  • Nutze Workbook.Befehle, um mehrere Arbeitsmappen gleichzeitig zu speichern.
  • Achte auf die Verwendung von Error Handling, um potenzielle Fehler beim Speichern abzufangen.

FAQ: Häufige Fragen

1. Wie kann ich eine Datei automatisch in einem bestimmten Format speichern? Du kannst das FileFormat-Argument im SaveAs-Befehl anpassen, um verschiedene Formate wie .xls, .xlsx oder .xlsm zu verwenden.

2. Was kann ich tun, wenn die Eingabeaufforderung nicht erscheint? Stelle sicher, dass der Code korrekt geschrieben ist und dass Du die richtige Subroutine ausführst. Überprüfe auch, ob Excel Makros erlaubt.

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