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

Nur 1 Blatt per VBA speichern

Forumthread: Nur 1 Blatt per VBA speichern

Nur 1 Blatt per VBA speichern
10.02.2003 15:56:10
Andreas
Hallo,
ich möchte in einer Arbeitsmappe nur das Aktive Blatt speichern.
Wenn ich den untigen Befehl aufrufe, dann wird aber trotzdem die gesamte Mappe gespeichert. Kann mir da vielleicht jemand helfen?
Danke und Gruß Andreas

ChDir "C:\"
ActiveSheet.SaveAs FileName:="C:\test\" & "Re.Nr." & Range("F24").Value & ".xls", FileFormat:=xlNormal
End Sub

2. Frage: Hab einen CommandButton in das Sheet eingefügt, weiß aber leider nicht, wie ich den Weiterbearbeite. Wollte Ihn umbenennen, verschieben usw. Dachte erst mit rechter Maustaste.
Ist aber leider nicht. Muß ich da wieder in die Entwicklungsumgebung??

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Nur 1 Blatt per VBA speichern
10.02.2003 16:08:05
kay.o

Hi,

hmm bissl komisch was du da machen möchtest.
denn das abspeichern nur eines blattes geht nicht , jedenfalls mir nich bekannt.
wenn dann kopieren des blattes in eine andere datei und diese dann speichern.

und zur der save as methode, versuch es mal bissl sanfter ;)
setzt dir ne variable wie temp zB.

temp = "C:\test\Re-Nr-" & Range("F24").text & ".xls"
ActiveSheet.SaveAs FileName:=temp, FileFormat:=xlNormal

so siehste besser beim debuggen was in der variable steht , bzw. wie der Dateiname heißt ;)

und ja entwurfmodus einschalten und dann kannste im VB Editor wo du dein Makro schreibst auch die werte des Buttons ändern.

gruß
Kay

Anzeige
Danke Kay
10.02.2003 16:24:20
Andreas

Hallo Kay,
kannst du mir da vielleicht helfen, wie ich den Code formulieren muß, damit nur das aktive Blatt ohne den Rest abgespeichert wird?

Ich verstehe leider noch immer nicht, wie ich den Button bearbeite: Es war bei mir auch schon möglich, daß ich ihn mit der Maus bearbeiten konnte, in der Tabelle, d.h. Größe und Namen ändern.

Gruß Andreas

Anzeige
Re: Danke Kay
10.02.2003 16:33:39
Kay.o

Hi,

einfach am besten immer mal mit dem makro aufzeichnungs ding :) versuchen ;)

Sheets("Tabelle1").Select
Sheets("Tabelle1").Copy
und dann deine save zeug unten ran , dann haste eine kopie des blattes deiner eigentlichen datei in einer anderen.

wenn du im entwurfmodus bist und den button verschieben kannst , dann doppel klicke diesen mal an , dann sprinste doch in den VB Editor und hast schon automatisch eine prozedur bekommen -> commandbutton1_click() dort schreibste dein makro zwischen und immer wenn du rauf clickst gehts los ;)

gruß
Kay

Anzeige
Re: Nur 1 Blatt per VBA speichern
10.02.2003 16:39:47
Bolli

Hallo Andreas

Füge dieses Makro deinem Button zu:

Sub Save()
ActiveSheet.Copy
ActiveWorkbook.SaveAs , FileFormat:=xlNormal, _
CreateBackup:=False
ActiveWorkbook.Close False
End Sub

Musst es halt noch anpassen

Gruss Bolli

Re: Nur 1 Blatt per VBA speichern
10.02.2003 17:01:46
Martin Beck

Hallo Andreas,

versuche mal

ActiveSheet.Copy
ChDir "C:\"
ActiveWorkbook.SaveAs FileName:="C:\test\" & "Re.Nr." & Range("F24").Value & ".xls", FileFormat:=xlNormal
ActiveWorkbook.Close

Gruß
Martin Beck

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Nur ein Blatt in Excel per VBA speichern


Schritt-für-Schritt-Anleitung

Um in Excel nur ein Arbeitsblatt zu speichern, kannst Du den folgenden VBA-Code verwenden. Dieser Code kopiert das aktive Tabellenblatt in eine neue Arbeitsmappe und speichert es anschließend. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub SaveActiveSheet()
       ActiveSheet.Copy
       ChDir "C:\test\" ' Stelle sicher, dass dieser Ordner existiert
       ActiveWorkbook.SaveAs FileName:="Re.Nr." & Range("F24").Value & ".xls", FileFormat:=xlNormal
       ActiveWorkbook.Close False
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Du kannst diesen Code nun mit einem Button verknüpfen, um das aktive Blatt zu speichern.


Häufige Fehler und Lösungen

  • Der gesamte Arbeitsmappen wird gespeichert: Stelle sicher, dass Du den ActiveSheet.Copy Befehl verwendest, bevor Du das Arbeitsblatt speicherst. Dies erstellt eine Kopie des aktiven Blattes in einer neuen Arbeitsmappe.

  • Ordner nicht gefunden: Überprüfe, ob der angegebene Ordner existiert. Wenn nicht, erstelle den Ordner C:\test\.

  • Fehlermeldung beim Speichern: Achte darauf, dass der Dateiname in Range("F24").Value korrekt ist und keine ungültigen Zeichen enthält.


Alternative Methoden

Eine alternative Methode, um nur ein Blatt zu speichern, besteht darin, das Blatt zuerst zu kopieren und dann in einer neuen Datei zu speichern. Hier ist ein Beispielcode:

Sub SaveSheetAlternative()
    Dim tempFilePath As String
    tempFilePath = "C:\test\Re-Nr-" & Range("F24").Value & ".xls"

    ActiveSheet.Copy
    ActiveWorkbook.SaveAs FileName:=tempFilePath, FileFormat:=xlNormal
    ActiveWorkbook.Close False
End Sub

Diese Methode ermöglicht es Dir, den Dateinamen in einer Variablen zu speichern, was das Debuggen erleichtert.


Praktische Beispiele

Hier sind einige Beispiele, wie Du den VBA-Code zur Speicherung eines Blattes anpassen kannst:

  1. Mit Benutzerabfrage:

    Sub SaveSheetWithPrompt()
       Dim filePath As String
       filePath = Application.InputBox("Gib den Dateinamen ein:", "Dateiname", "Re.Nr.")
       ActiveSheet.Copy
       ActiveWorkbook.SaveAs FileName:="C:\test\" & filePath & ".xls", FileFormat:=xlNormal
       ActiveWorkbook.Close False
    End Sub
  2. Speichern im aktuellen Ordner:

    Sub SaveSheetInCurrentFolder()
       ActiveSheet.Copy
       ActiveWorkbook.SaveAs FileName:=ThisWorkbook.Path & "\" & "Re.Nr." & Range("F24").Value & ".xls", FileFormat:=xlNormal
       ActiveWorkbook.Close False
    End Sub

Tipps für Profis

  • Nutze die Makroaufzeichnung: Wenn Du nicht genau weißt, wie Du Deinen Code schreiben sollst, kann die Makroaufzeichnung wertvolle Hinweise geben.

  • Debugging: Verwende Debug.Print um Variablenwerte im Direktfenster des VBA-Editors zu überprüfen.

  • Button anpassen: Um einen Button in Excel zu bearbeiten, kannst Du diesen im Entwurfsmodus doppelt anklicken, um direkt in den VBA-Editor zu gelangen.


FAQ: Häufige Fragen

1. Wie speichere ich nur ein Tabellenblatt in Excel?
Du kannst den oben beschriebenen VBA-Code verwenden, um nur das aktive Blatt zu speichern, indem Du es zuerst kopierst.

2. Wo kann ich den gespeicherten Dateipfad anpassen?
Der Dateipfad kann in der Zeile ChDir "C:\test\" oder in der SaveAs Methode angepasst werden.

3. Was ist der Unterschied zwischen SaveAs und ActiveWorkbook.Close?
SaveAs speichert die aktuelle Arbeitsmappe unter einem neuen Namen, während ActiveWorkbook.Close die Arbeitsmappe schließt, ohne sie zu speichern, wenn das zweite Argument auf False gesetzt 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