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

Forumthread: Arbeitsmappe OHNE Makro speichern-Rückfrage deakt.

Arbeitsmappe OHNE Makro speichern-Rückfrage deakt.
Tutanch0
Hallo Zusammen,
ich habe eine Excel Datei als Formular angelegt. Dieses Formular hat einen Makro. Die Datei soll dann unter einem anderen Namen und OHNE Makros abgespeichert werden. Beide Dateien sollen dann automatisch geschlossen werden.
Bei dem Abspeichern kommt aber jedesmal die Rückfrage " Klicken Sie auf JA, um die Arbeitsmappe ohne Makros zu speichern".
Wie kann ich diese Rückfrage vermeiden?
Anbei mein Code, der soweit funktioniert:
Private Sub CommandButton1_Click()
Sheets("Tabelle1").Select
Sheets("Tabelle1").Copy
Const s = "F:\__Info_IDM\Neue_Vorschläge"
Dim bm
bm = InputBox("Bitte Dateinamen mit Namen ergänzen:", "Speichern unter: F:\__Info_IDM\ _
Neue_Vorschläge", Format(Now, "yyyy-mm-dd") & "-")
ActiveWorkbook.SaveAs s & "\" & bm & ".xlsx"
ActiveWorkbook.Close False
Workbooks("IDM_Formular.xlsm").Close False
End Sub

Vielen Dank im voraus für Eure Unterstützung
Gruß Gunter
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
mein Test ergab -> keine Probleme ...
28.02.2012 10:16:34
Matthias
Hallo
Kann ich nicht nachvollziehen. Bei mir wird ohne Probleme eine xlsx-Datei mit Tabelle1 angelegt
und die Quelldatei wird ohne Nachfrage geschlossen.
So hab ichs getestet:
Commandbutton1 auf Tabelle2 ruft den Code auf, der die Tabelle1 als Datei kopiert.
Userbild
Dabei habe ich einmal mit:
* Workbooks("Formular.xlsm").Close False
und einmal mit
* ThisWorkbook.Close False
getestet. Es wurden immer beide Dateien ohne Nachfrage geschlossen.
Übrigens kannst Du auch ohne Select die Tabelle1 kopieren.
Also die Select-zeile einfach weglassen.
Gruß Matthias
Anzeige
AW: mein Test ergab -> keine Probleme ...
28.02.2012 10:29:15
Tutanch0
Hallo Matthias,
zuerst Danke für deine Unterstützung. Die Rückfrage "Klicken Sie auf JA, um die Arbeitsmappe ohne Makros zu speichern" kommt direkt nach der Abfrage des neuen Dateinamens. Von dem Makro wird
ja das Tagesdatum als Dateinamenvorgegeben und kann noch ergänzt werden. Wenn ich diesen Dateinamen dann bestätige, dann kommt die oben genannte Rückfrage. Wenn man diese mit JA beantwortet, werden dann beide Dateien geschlossen.
Kannst du das nachvollziehen?
Gruß Gunter
Anzeige
kann ich jetzt nachvollziehen - Code in Tab1
28.02.2012 10:39:03
Matthias
Hallo
Dann hast Du irgendeinen Code in Tabelle1 hinterlegt.
In meinem Test hatte ich eine Tabelle1 ohne Code.
Hab nun mal ein Makro eingefügt
Sub test()
msgbox"Hallo"
End Sub
Wenn ich nun die Tabelle1 kopieren will kommt nun auch bei mir diese Meldung.
Eine Variante wäre (wenn möglich) den Code in ein Modul auszulagern.
Eine weitere Variante wäre den VBA-Code auch per VBA zu löschen.
Dazu gibt es einige Beispiele im Archiv.
Gruß Matthias
Anzeige
AW: mein Test ergab -> keine Probleme ...
28.02.2012 11:35:17
mumpel
In Office 2007 und höher muss man übrigens das FileFormat zwingend angeben. Ohne Angabe des FileFormats wird die Datei irreparabel zerstört.
AW: Arbeitsmappe OHNE Makro speichern-Rückfrage deakt.
28.02.2012 11:25:29
mumpel
Hallo!
Gruß, René
Nachtrag
28.02.2012 11:29:51
mumpel
Diese Meldung ist übrigens normal. Damit möchte Microsoft verhindern, dass der Anwender versehentlich seinen VBA-Code verliert. Mit "Application.DisplayAlerts = False" kann man diese Meldung deaktivieren, aber am Ende des Makros muss man sie wieder aktivieren.
Und im Übrigen musst Du eine Tabelle nicht erst selektieren, Du kannst sie auch so kopieren.
Anzeige
AW: Nachtrag
28.02.2012 14:07:49
Tutanch0
Hallo "mumpel",
ich habe einmal meinen VBA Code gelöscht und diesen durch deinen ersetzt.
Ich laufe damit auf einen Fehler. Die Debugger Meldung steht auf:
bm = InputBox("Bitte Dateinamen mit Namen ergänzen:" & vbCrLf & _
"Speichern unter F:\Info_IDM\Neue_Vorschläge\" & _
Format(Now, "yyyy-mm-dd") & "" - "")
Ich kann mir daraus keinen Reim machen. Du?
Gruß Gunter
Anzeige
AW: Nachtrag
28.02.2012 16:57:08
mumpel
AW: Nachtrag
28.02.2012 17:13:17
Tutanch0
Hallo Mumpel,
ich habe jetzt zwar nicht deinen Code benutzt, jedoch die beiden Application.DisplayAlerts Einträge gesetzt.
Den Eintrag :
FileFormat:=xlOpenXMLWorkbook
.Close savechanges:=False
habe ich weggelassen. Nun funktioniert das ganze, so wie ich es brauche.
Danke für deine Unterstützung.
Gruß Gunter
Anzeige
AW: Nachtrag
28.02.2012 17:15:56
mumpel
"FileFormat:=xlOpenXMLWorkbook" solltest Du keinesfalls weglassen. Es kann sonst dazu führen, dass die erstellte Datei nicht mehr geöffnet werden kann.
AW: Nachtrag
28.02.2012 17:18:07
Tutanch0
Hallo Mumpel,
ich habe die neu erstellten Dateien geöffnet und gecheckt. Sollte ich damit ein Problem bekommen,
werde ich mich an deine Warnung erinnern.
Danke !!
Gunter
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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

Arbeitsmappe ohne Makro speichern und Rückfragen deaktivieren


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei ohne Makros zu speichern und die Rückfrage zu deaktivieren, kannst du folgenden VBA-Code verwenden:

Private Sub CommandButton1_Click()
    Const s = "F:\__Info_IDM\Neue_Vorschläge"
    Dim bm
    bm = InputBox("Bitte Dateinamen mit Namen ergänzen:", "Speichern unter: F:\__Info_IDM\Neue_Vorschläge", Format(Now, "yyyy-mm-dd") & "-")

    ' Deaktivieren der Rückfrage
    Application.DisplayAlerts = False

    ' Arbeitsmappe speichern ohne Makros
    ActiveWorkbook.SaveAs Filename:=s & "\" & bm & ".xlsx", FileFormat:=xlOpenXMLWorkbook
    ActiveWorkbook.Close False
    Workbooks("IDM_Formular.xlsm").Close False

    ' Rückfrage wieder aktivieren
    Application.DisplayAlerts = True
End Sub

Dieser Code ermöglicht es dir, die Arbeitsmappe unter einem neuen Namen zu speichern und dabei die Rückfrage zu vermeiden. Achte darauf, dass du das FileFormat:=xlOpenXMLWorkbook angibst, um sicherzustellen, dass die Datei im richtigen Format gespeichert wird.


Häufige Fehler und Lösungen

  1. Rückfrage beim Speichern:

    • Ursache: Wenn Code in der Tabelle vorhanden ist, kann Excel eine Rückfrage stellen.
    • Lösung: Stelle sicher, dass der Code aus der Arbeitsmappe entfernt oder in ein Modul ausgelagert wird.
  2. Datei kann nicht geöffnet werden:

    • Ursache: Das Weglassen des FileFormat-Parameters kann zu einer beschädigten Datei führen.
    • Lösung: Verwende immer FileFormat:=xlOpenXMLWorkbook beim Speichern.
  3. Debugging-Fehler:

    • Ursache: Fehler in der Syntax oder der Verwendung von Variablen.
    • Lösung: Überprüfe den Code gründlich und teste Schritt für Schritt.

Alternative Methoden

  • Excel automatisieren ohne Makros: Verwende Excel-Formeln oder -Funktionen, um Daten zu verarbeiten, ohne VBA zu nutzen.
  • PDF ohne Makros speichern: Du kannst die Arbeitsmappe auch als PDF speichern, ohne Makros. Nutze dazu ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF.

Praktische Beispiele

  1. Speichern einer Arbeitsmappe ohne Makros: Du kannst die oben genannte Methode verwenden, um eine Excel-Datei zu speichern, die keine Makros enthält. Dies ist besonders nützlich, wenn du eine saubere Version deiner Arbeit teilen möchtest.

  2. Erstellen eines Formulars: Wenn du ein Formular in Excel erstellst, achte darauf, dass es keine Makros enthält, wenn du es für andere Benutzer bereitstellen möchtest. Nutze die SaveAs-Methode, um sicherzustellen, dass das Formular ohne Makros gespeichert wird.


Tipps für Profis

  • Verwende Application.DisplayAlerts: Deaktiviere diese Funktion am Anfang deines Codes und aktiviere sie am Ende wieder, um lästige Rückfragen zu vermeiden.
  • Überprüfe die Kompatibilität: Achte darauf, dass deine Excel-Version die Funktionen unterstützt, insbesondere wenn du mit FileFormat arbeitest.
  • Testen vor der Verwendung: Teste deinen Code in einer sicheren Umgebung, um unbeabsichtigte Datenverluste zu vermeiden.

FAQ: Häufige Fragen

1. Wie speichere ich eine Excel-Datei ohne Makros?
Du kannst die Datei im XLSX-Format speichern, indem du den VBA-Code wie oben beschrieben verwendest.

2. Warum kommt die Rückfrage beim Speichern?
Diese Rückfrage erscheint, um zu verhindern, dass VBA-Code versehentlich verloren geht. Du kannst sie mit Application.DisplayAlerts = False deaktivieren.

3. Was passiert, wenn ich FileFormat:=xlOpenXMLWorkbook weglasse?
Ohne diese Angabe kann die Datei beschädigt werden und möglicherweise nicht geöffnet werden.

4. Kann ich eine Arbeitsmappe als PDF speichern ohne Makros?
Ja, du kannst die Arbeitsmappe als PDF speichern, indem du die ExportAsFixedFormat-Methode verwendest.

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