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

Forumthread: speichern unter und schließen per Macro

speichern unter und schließen per Macro
01.09.2008 16:59:00
lisa
Hallo zusammen
Ich bräuchte mal HLFE von Euch.
In der Recherche habe ich nichts passendes finden können. Vieleicht hat ja schon einmal jemand soetwas ähnliches gehabt.
Hier mein Anliegen.
Ich habe eine Datei geöffnet, die heißt "meine Daten".
Diese Datei möchte ich per Macro unter einen anderen Namen speichern und auch schliessen.
Der Name zum speichern soll aus Celle c1 geholt werden (Das ist ein Datum)
Wenn die Datei mit neuem Namen geschlossen wurde soll meine Ursprungsdatei "meine Daten" wieder Activiert werden.
Wer kann mir hier mit einem Macro weiterhelfen?
Liebe Grüße Lisa.
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: speichern unter und schließen per Macro
01.09.2008 17:37:06
Tino
Hallo,
so müsste es gehen.
Modul Modul1
Option Explicit 
 
Sub Speichern() 
Dim strPfad As String 
Dim strDatei As String 
strPfad = IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\") 
strDatei = Format(Range("C1"), "dd_mm_yyyy") 
ThisWorkbook.SaveCopyAs strPfad & strDatei 
End Sub 


Gruß Tino

Anzeige
AW: speichern unter und schließen per Macro
01.09.2008 17:43:00
lisa
Hallo Tino
Danke für die schnelle Hilfe.
Ich kopiere mir den Code in ein CommandButton. Ist das Richtig? (So jedenfalls habe ich es mir gedacht.)
Wo passe ich den Pfad an?
Willst du mir hier evtl. noch einmal helfen?
Liebe Grüße Lisa
AW: speichern unter und schließen per Macro
01.09.2008 18:11:00
Tino
Hallo,
den Code kannst du in Deinen Button kopieren.
(nur der Bereich zwischen </p><pre>Sub Speichern() und End Sub</pre><p>)
Den Pfad kannst du so anpassen.
Bsp.:
strPfad = "C:\Eigene Dateien\"
Dein anderer Code hat den Nachteil,
Du musst danach die meine Daten wieder öffnen und die neue Datei schließen.
Unnötiger Aufwand
Gruß Tino
Anzeige
AW: speichern unter und schließen per Macro
01.09.2008 18:00:40
lisa
Hallo Toni und die anderen fleißigen Helfer!
Ich habe gerade in der Recherche diesen Code gefunden.
Ich habe ihn ausprobiert und er klappt suuper.
Doch wer könnte mir diesen so umstellen, dass das Blatt unter dem Datum aus c1 gespeichert wird?
Herzlichen Dank für Eure Hilfe und lieben Gruß Lisa

Sub Blattspeichern()
ActiveSheet.Copy
ActiveWorkbook.SaveAs FileName:="D:\Eigene Dateien\Hajo\" & ActiveSheet.Name & ".xls"
End Sub


Anzeige
AW: speichern unter und schließen per Macro
01.09.2008 19:02:00
Tino
Hallo,
habe jetzt erst gesehen, dass Dein Code die aktuelle Tabelle kopiert, liegt wohl am Montag.
So müsste es gehen

Sub Blattspeichern()
Dim strDatei As String
strDatei = Format(Range("C1"), "dd_mm_yyyy")
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:="D:\Eigene Dateien\Hajo\" & strDatei & ".xls"
ActiveWorkbook.Close 'schließen
End Sub


Gruß Tino

Anzeige
AW: speichern unter und schließen per Macro
02.09.2008 10:36:09
lisa
Ja, das ist super!
Genau so habe ich es mir vorgestellt herzlichen Dank!
Liebe Grüße Lisa
AW: speichern unter und schließen per Macro
04.09.2008 13:39:00
lisa
Hallo zusammen.
Wie es so ist, arbeitet man mit einer Lösung ergeben sich neue Fragen.
Dank Tino kann ich nun mein Arbeitsblatt unter dem Datum aus Zelle c1 speichern.
Nun habe ich mir eine Userform gebastelt aus der heraus ich die Tabelle wieder öffnen will.
Und zwar möchte ich gern eine Abfrage in die Userform einbauen die das Datum der gesp. Tabelle abfragt welche geöffnet werden soll.
Soweit bin ich bis jetzt:
In mappe1.xls in 'DieseArbeitsmappe' steht:

Private Sub Workbook_Activate()
MsgBox OpenUF
If OpenUF Then
OpenUF = False
UserForm1.Show
End If
End Sub


In mappe1.xls 'UserForm1' steht:


Private Sub CommandButton1_Click()
OpenUF = True
ChDir "P:\Lisa"
Workbooks.Open Filename:="P:\Lisa\Inv2.xls"
'Hier gebe ich einen direkten Pfad vor, ich möchte aber gern eine Abfrage starten
' wie stelle ich das an?
Me.Hide
End Sub


In mappe1.xls 'Modul1' steht:
Public OpenUF As Boolean


Private Sub Schaltfläche1_BeiKlick()
UserForm1.Show
End Sub


Ich bin wirklich für jede Hilfe dankbar!
Gruß Lisa

Anzeige
AW: speichern unter und schließen per Macro
04.09.2008 16:50:03
Tino
Hallo,
wie soll Deine Abfrage den aussehen?
Willst du den Pfad auswählen können wo sich diese Datei befindet oder möchtest Du Datei
die Datei auswählen können?
Gruß Tino
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Speichern unter und Schließen per Macro in Excel


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei per Macro zu speichern und anschließend zu schließen, kannst Du den folgenden VBA-Code verwenden:

Sub Speichern()
    Dim strPfad As String
    Dim strDatei As String
    strPfad = IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")
    strDatei = Format(Range("C1"), "dd_mm_yyyy")
    ThisWorkbook.SaveCopyAs strPfad & strDatei
    ThisWorkbook.Close SaveChanges:=False ' Hier wird die Datei geschlossen
End Sub

Hinweise:

  1. Du kannst den Code in einen CommandButton einfügen.
  2. Der Pfad, in dem die Datei gespeichert wird, kann nach Bedarf angepasst werden, z. B. strPfad = "C:\Eigene Dateien\".

Häufige Fehler und Lösungen

  1. Fehler beim Speichern:

    • Wenn der Pfad nicht existiert oder falsch eingegeben wurde, kann es beim Speichern zu Fehlern kommen. Stelle sicher, dass der Pfad korrekt ist.
  2. Datei schließt nicht:

    • Überprüfe, ob der ThisWorkbook.Close Befehl korrekt implementiert ist. Dieser muss nach dem Speichern aufgerufen werden.
  3. Excel beim Schließen nach Speichern fragen:

    • Um zu verhindern, dass Excel beim Schließen nach Änderungen fragt, stelle sicher, dass SaveChanges:=False verwendet wird.

Alternative Methoden

Es gibt auch alternative Methoden, um eine Excel-Datei zu speichern und zu schließen. Eine Möglichkeit ist die Verwendung des ActiveWorkbook-Objekts, um die aktuelle Arbeitsmappe zu speichern:

Sub Blattspeichern()
    Dim strDatei As String
    strDatei = Format(Range("C1"), "dd_mm_yyyy")
    ActiveSheet.Copy
    ActiveWorkbook.SaveAs Filename:="D:\Eigene Dateien\" & strDatei & ".xls"
    ActiveWorkbook.Close ' schließen
End Sub

In diesem Beispiel wird das aktive Blatt kopiert und unter dem Datum aus Zelle C1 gespeichert.


Praktische Beispiele

  1. Speichern unter einem bestimmten Namen:
    • Um die Datei unter einem Namen zu speichern, der aus einer Zelle stammt, kannst Du den Code wie folgt anpassen:
Sub SpeichernUnter()
    Dim strDatei As String
    strDatei = Range("C1").Value ' Hier wird der Name aus Zelle C1 übernommen
    ThisWorkbook.SaveCopyAs "C:\Eigene Dateien\" & strDatei & ".xls"
    ThisWorkbook.Close
End Sub
  1. Speichern und Schließen einer spezifischen Datei:
    • Um eine spezifische Datei zu schließen und eine neue zu speichern:
Sub SpeichernUndSchließen()
    Dim strDatei As String
    strDatei = Format(Range("C1"), "dd_mm_yyyy")
    ThisWorkbook.SaveCopyAs "C:\Eigene Dateien\" & strDatei & ".xls"
    Application.Workbooks("meine Daten").Close SaveChanges:=False ' Schließt die Ursprungsdatei
End Sub

Tipps für Profis

  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um unerwartete Abstürze zu vermeiden.
On Error Resume Next
' Dein Code hier
If Err.Number <> 0 Then
    MsgBox "Fehler: " & Err.Description
End If
  • Automatisierung: Nutze Workbook_Open oder Workbook_BeforeClose, um automatisierte Speicher- und Schließvorgänge zu steuern.

FAQ: Häufige Fragen

1. Wie kann ich Excel beim Schließen nach dem Speichern fragen? Um Excel beim Schließen nach dem Speichern zu fragen, kannst Du den ThisWorkbook.Close SaveChanges:=True Befehl verwenden.

2. Was ist der Unterschied zwischen SaveCopyAs und SaveAs? SaveCopyAs erstellt eine Kopie der Arbeitsmappe, während SaveAs die aktuelle Arbeitsmappe unter einem neuen Namen speichert.

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