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

Forumthread: Active Sheet save

Active Sheet save
30.01.2003 00:04:14
Stephan B
HAllo !

Irgendwie stehe ich heute auf der Leitung - müsste

einfach nur wissen, wie man ein Tabellenblatt einer Mappe

per VBA speichert. Habe schon im Archiv gesucht aber nichts

gefunden.

mfg. stephan

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Active Sheet save
30.01.2003 00:15:55
L.Vira

Du kannst kein Sheet als Datei speichern, nur Mappen.
Kopier das Blatt zuvor in eine neue Mappe. So aus
dieser Serie:

Option Explicit
Sub Copy_save()
Sheets("Tabelle1").Copy
ActiveWorkbook.SaveAs "C:\Beispiel\Test.xls"
End Sub

Re: Active Sheet save
30.01.2003 09:17:16
Franz W.

Hallo L.Vira,

daran bin ich auch interessiert und hätte da noch eine Zusatzfrage: ist es auch möglich als Dateinamen automatisch den Inhalt zweier Zellen einzusetzen nach dem Muster:
ActiveWorkbook.SaveAs "C:\Beispiel\[A1] & [A2].xls" ?

Vielen Dank im Voraus

Gruß
Franz

Anzeige
Re: Active Sheet save
30.01.2003 13:19:52
L.Vira

Geht schon so nach dem Schema:
Option Explicit
Sub Copy_save()
Dim A1Text As String, A2Text As String
A1Text = Sheets("Tabelle2").[a1]
A2Text = Sheets("Tabelle2").[a2]
Sheets("Tabelle1").Copy
ActiveWorkbook.SaveAs "C:\Beispiel\" & A1Text & A2Text & ".xls"
End Sub
Aber es muss noch geprüft werden, ob sich in den Zellen Zeichen befinden, die in Dateinamen verboten sind!

Anzeige
Re: Active Sheet save
30.01.2003 13:36:20
Franz W.

Hallo L.Vira,

toll, vielen Dank! Das hilft mir sehr weiter!

Danke und Gruß
Franz

;

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

Infobox / Tutorial

Aktives Arbeitsblatt in Excel per VBA speichern


Schritt-für-Schritt-Anleitung

Um ein aktives Arbeitsblatt in Excel per VBA zu speichern, kannst du die folgende Schritt-für-Schritt-Anleitung verwenden:

  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 und wähle Modul.
  3. Gib den VBA-Code ein:

    • Füge den folgenden Code in das Modul ein:
    Option Explicit
    
    Sub Copy_save()
       ' Kopiere das aktive Arbeitsblatt
       ActiveSheet.Copy
       ' Speichere die neue Arbeitsmappe
       ActiveWorkbook.SaveAs "C:\Beispiel\Test.xls"
       ' Schließe die neue Arbeitsmappe
       ActiveWorkbook.Close
    End Sub
  4. Passe den Speicherort an:

    • Ändere den Pfad "C:\Beispiel\Test.xls" nach deinen Wünschen.
  5. Führe das Makro aus:

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

Häufige Fehler und Lösungen

Fehler 1: "Datei kann nicht gespeichert werden."

  • Lösung: Stelle sicher, dass der angegebene Pfad korrekt ist und dass du die notwendigen Schreibrechte hast.

Fehler 2: "Aktives Arbeitsblatt nicht gefunden."

  • Lösung: Überprüfe, ob das Arbeitsblatt, das du kopieren möchtest, tatsächlich aktiv ist. Du kannst dies tun, indem du sicherstellst, dass das entsprechende Arbeitsblatt ausgewählt ist.

Alternative Methoden

Eine andere Möglichkeit, ein aktives Arbeitsblatt zu speichern, besteht darin, den Namen des Arbeitsblatts dynamisch zu generieren. Hier ist ein Beispiel, wie das geht:

Option Explicit

Sub SaveActiveSheetWithDynamicName()
    Dim A1Text As String
    Dim A2Text As String
    A1Text = Sheets("Tabelle2").[A1].Value
    A2Text = Sheets("Tabelle2").[A2].Value
    ActiveSheet.Copy
    ActiveWorkbook.SaveAs "C:\Beispiel\" & A1Text & A2Text & ".xls"
    ActiveWorkbook.Close
End Sub

Diese Methode nutzt die Werte aus den Zellen A1 und A2, um den Dateinamen zu erstellen.


Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen, das Speichern von aktiven Arbeitsblättern zu automatisieren:

  1. Speichern als XLSX-Datei:

    ActiveWorkbook.SaveAs "C:\Beispiel\Test.xlsx", FileFormat:=xlOpenXMLWorkbook
  2. Speichern mit Datum im Dateinamen:

    Dim Dateiname As String
    Dateiname = "Tabelle_" & Format(Date, "YYYYMMDD") & ".xlsx"
    ActiveWorkbook.SaveAs "C:\Beispiel\" & Dateiname

Tipps für Profis

  • Verwende On Error Resume Next, um Fehler zu ignorieren, wenn das Speichern fehlschlägt, und füge eine Fehlerbehandlung hinzu, um den Benutzer zu informieren.
  • Du kannst auch sicherstellen, dass keine ungültigen Zeichen im Dateinamen verwendet werden, indem du eine Überprüfung einbaust, bevor du das Arbeitsblatt speicherst.

FAQ: Häufige Fragen

1. Kann ich mehrere aktive Blätter gleichzeitig speichern? Ja, du kannst eine Schleife verwenden, um durch alle aktiven Blätter zu iterieren und jedes einzeln zu speichern.

2. Unterstützt VBA das Speichern im PDF-Format? Ja, du kannst das aktive Blatt auch als PDF speichern, indem du ActiveSheet.ExportAsFixedFormat verwendest.

3. Wie kann ich sicherstellen, dass die Datei überschrieben wird, wenn sie bereits existiert? Du kannst die Existenz der Datei vor dem Speichern überprüfen und die Datei löschen, falls sie bereits vorhanden ist.

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