Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: ActiveWorkbook.SaveAs Filename

ActiveWorkbook.SaveAs Filename
22.11.2005 09:12:40
loca
hallo zusammen
mein makro soll verschiede files speichern. damit ich dies in einer schleife programmieren kann, müsste ich als filenamen eine variable verwenden. eigentlich hätte ich es gerne so:
name = "file1.xls"
ActiveWorkbook.SaveAs Filename:="\\C:\" & name
nur funktioniert das nicht. hat jemand eine idee dazu?
besten dank und gruss
loca
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveWorkbook.SaveAs Filename
22.11.2005 10:27:29
haw
Hallo loca,
So sollte es gehen:
nam = "file1.xls"
ActiveWorkbook.SaveAs Filename:="C:\" & nam
denn name darf nciht als Variablenname verwendet werden, da er schon in VBA definiert ist.
Gruß
Heinz
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

ActiveWorkbook.SaveAs: Dateien in Excel speichern


Schritt-für-Schritt-Anleitung

Um die Methode ActiveWorkbook.SaveAs in VBA zu verwenden, um Dateien zu speichern, folge diesen Schritten:

  1. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.
  2. Neues Modul hinzufügen:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xls)" und wähle "Einfügen" > "Modul".
  3. Code zum Speichern hinzufügen:

    • Füge den folgenden Code in das Modul ein:
    Sub Speichern()
       Dim dateiname As String
       dateiname = "file1.xls"
       ActiveWorkbook.SaveAs Filename:="C:\" & dateiname
    End Sub
  4. Makro ausführen:

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

Häufige Fehler und Lösungen

  • Fehler: "Das angegebene Dateiformat ist ungültig"

    • Lösung: Stelle sicher, dass der Dateiname und die Erweiterung korrekt sind. Verwende gängige Formate wie .xls oder .xlsx.
  • Fehler: "Name ist bereits als Variablenname definiert"

    • Lösung: Ändere die Variable name in etwas anderes, z.B. dateiname, um Konflikte mit VBA-reservierten Wörtern zu vermeiden.

Alternative Methoden

Neben ActiveWorkbook.SaveAs kannst du auch ThisWorkbook.SaveAs verwenden, um die aktuelle Arbeitsmappe mit einem neuen Namen zu speichern:

ThisWorkbook.SaveAs Filename:="C:\NeuerDateiname.xls"

Diese Methode ist nützlich, wenn du sicherstellen möchtest, dass die Arbeitsmappe, die das Makro enthält, gespeichert wird.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du ActiveWorkbook.SaveAs in verschiedenen Szenarien verwenden kannst:

  1. Speichern unter einem dynamischen Namen:

    Sub SpeichernMitDatum()
       Dim dateiname As String
       dateiname = "Report_" & Format(Date, "YYYYMMDD") & ".xls"
       ActiveWorkbook.SaveAs Filename:="C:\" & dateiname
    End Sub
  2. Speichern mit einem spezifischen Dateiformat:

    Sub SpeichernAlsCSV()
       ActiveWorkbook.SaveAs Filename:="C:\Daten.csv", FileFormat:=xlCSV
    End Sub

Tipps für Profis

  • Verwendung von Dateiformaten: Wenn du mit verschiedenen Dateiformaten arbeitest, achte darauf, das FileFormat-Argument in der SaveAs-Methode zu spezifizieren.

  • Fehlerbehandlung: Implementiere Fehlerbehandlung in deinem VBA-Code, um sicherzustellen, dass dein Makro robust ist und unerwartete Fehler abfängt.

    On Error Resume Next
    ActiveWorkbook.SaveAs Filename:="C:\" & dateiname
    If Err.Number <> 0 Then
       MsgBox "Fehler beim Speichern: " & Err.Description
    End If
    On Error GoTo 0

FAQ: Häufige Fragen

1. Wie kann ich den Speicherort für die Datei ändern?
Ändere den Pfad in der Filename-Eigenschaft. Beispiel: Filename:="D:\NeuerOrdner\" & dateiname.

2. Kann ich ein bestehendes Workbook überschreiben?
Ja, wenn der Dateiname bereits existiert, wird die Datei überschrieben, sofern du die richtige Berechtigung hast.

3. Was passiert, wenn ich keine Dateiendung angebe?
Wenn du keine Dateiendung angibst, verwendet Excel das Standardformat für die Arbeitsmappe, was zu unerwartetem Verhalten führen kann. Es ist ratsam, immer die Dateiendung anzugeben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige