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

Excel-Meldung automatisch "Ja"

Forumthread: Excel-Meldung automatisch "Ja"

Excel-Meldung automatisch "Ja"
08.08.2002 14:44:41
Simon
Beim Programmablauf unter VBA kommt von Excel die Meldung "Sollen ihre Änderungen in 'ABC.xls' gespeichert werden?". Diese Frage möchte ich gerne mit Hilfe von VBA automatisch mit "Ja" beantworten. Wie könnte das gehen?

Die Meldung kommt aber immer nur dann, wenn die Befehlszeile "Workbooks(ABC).Save" mit einer "On Error Resume Next"-Anweisung übersprungen wurde und im nächsten Schritt das Workbook mit "Workbooks(ABC).Close" geschlossen werden soll. Vielleicht wäre es dann auch sinnvoll vorher abzufragen, ob Excel überhaupt diese Frage gestellt hat, weil es nicht immer vorkommt, dass bei "Workbooks(ABC).Save" ein Fehler auftritt. Wenn dieser Befehl nämlich funktioniert, so erscheint die Excel-Frage erst gar nicht mehr, da die Datei ja bereits gesichert wurde.




Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Excel-Meldung automatisch "Ja"
08.08.2002 14:48:14
artinger
probiers mit Application.DisplayAlerts = False eine zeile davor
Datei auf jeden Fall speichern
08.08.2002 14:52:35
Simon
Das Problem ist, dass die Datei auf jeden Fall gespeichert werden soll. Mit diesem Befehl hört sich das so an als ob die Excel-Abfrage einfach übersprungen wird und die Datei dann nicht gesichert wird.
Re: Excel-Meldung automatisch "Ja"
08.08.2002 15:21:28
Otto Ecker
Hallo Simon,

In "Diese Arbeitsmappe" einfügen

gruß Otto

Anzeige
Nicht möglich
08.08.2002 15:48:03
Simon
Leider kann ich in dem Workbook, das bearbeitet wird, nichts ändern.
Außerdem soll das Workbook ja abgespeichert werden. Wenn die Excel-Abfragen einfach ignoriert werden, ist dies ja nicht möglich.
Re: Nicht möglich
08.08.2002 17:14:39
mattis
Zur genauen Erläuterung:

Du willst doch sicher nicht die die Meldung "Sollen ihre Änderungen in 'ABC.xls' gespeichert werden?" sehen,
wenn Du sie sowieso bejast.

Also:
Application.DisplayAlerts=False
(übrigens sollte vor End Sub noch ein
Application.DisplayAlerts=True hinein)

ThisWorkbook.Close True bedeutet nichts anderes
als die Kurzform von
ThisWorkbook.Close SaveChanges:=True
also werden die Änderungen gesichert

Wenn Du aber sowieso nichts am Workbook ändern darfst
wird es nicht möglich sein Abläufe zu automatisieren.

gruß
mattis

Anzeige
Im Sheet Änderung möglich
09.08.2002 10:49:20
Simon
Im Sheet selbst des Workbooks darf ich schon etwas ändern, d.h. gewisse Zelleneinträge hinzufügen oder verändern. Daher fragt Excel ja auch, ob die Datei gespeichert werden soll. Wenn das Workbook unverändert bleiben würde, käme die Meldung erst gar nicht. Aber im Quellcode der Excel-Datei unter VBA soll nichts geändert werden.

zur Info: die Sheets der einen Excel-Datei (Makros nicht veränderbar) werden durch eine andere Excel-Datei (Makros veränderbar), an der ich am Schreiben bin, berarbeitet.

Anzeige
Re: Im Sheet Änderung möglich
09.08.2002 16:21:39
mattis
Application.DisplayAlerts gilt meines Wissens
nach Workbookübergreifend. Thisworkbook.Close True
müßtest Du vom Namen her noch anpassen.
Das Ganze in das externe Makro, und die Sache müßte
funktionieren.

gruß
mattis

;
Anzeige

Infobox / Tutorial

Automatisches Speichern in Excel ohne Bestätigungen


Schritt-für-Schritt-Anleitung

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Modul erstellen: Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" und wähle "Einfügen" > "Modul".

  3. Code eingeben: Füge den folgenden VBA-Code in das Modul ein:

    Sub SpeichernUndSchließen()
       Application.DisplayAlerts = False ' Deaktiviert Warnmeldungen
       ThisWorkbook.Close SaveChanges:=True ' Speichert und schließt das Workbook
       Application.DisplayAlerts = True ' Aktiviert Warnmeldungen wieder
    End Sub
  4. Code ausführen: Schließe den VBA-Editor und führe das Makro aus, wenn du die Datei schließen möchtest.


Häufige Fehler und Lösungen

  • Fehler: Excel fragt weiterhin nach dem Speichern
    Lösung: Stelle sicher, dass der Code Application.DisplayAlerts = False vor dem Schließen des Workbooks steht und dass du SaveChanges:=True verwendest.

  • Fehler: Makro funktioniert nicht, weil es in einem geschützten Workbook ist
    Lösung: Überprüfe die Berechtigungen des Workbooks. Du kannst keine Änderungen am VBA-Code vornehmen, wenn das Workbook schreibgeschützt ist.


Alternative Methoden

Eine weitere Möglichkeit, die Excel-Abfrage zu umgehen, ist die Verwendung des folgenden Codes:

Sub SpeichernOhneAbfrage()
    If Not ThisWorkbook.Saved Then
        ThisWorkbook.Save
    End If
    ThisWorkbook.Close
End Sub

Dieser Code speichert das Workbook nur, wenn Änderungen vorgenommen wurden, und schließt es dann.


Praktische Beispiele

Angenommen, du arbeitest an einer Datei namens ABC.xls und möchtest sicherstellen, dass die Änderungen automatisch gespeichert werden, kannst du das Makro SpeichernUndSchließen verwenden, um den gesamten Prozess zu automatisieren. Du kannst dieses Makro in einer Schaltfläche auf deinem Arbeitsblatt verknüpfen, um es einfacher zu machen.


Tipps für Profis

  • Verwende die On Error Resume Next-Anweisung: Wenn du nicht sicher bist, ob ein Fehler auftritt, kannst du diese Anweisung verwenden, um das Programm nicht zu stoppen.
  • Teste den Code in einer Kopie der Arbeitsmappe: Vermeide Datenverlust, indem du deine Tests in einer Kopie der Datei durchführst.
  • Nutze die abc combo 40 kw forum: Halte dich über aktuelle Diskussionen im Forum auf dem Laufenden, um neue Tipps und Tricks zu erhalten.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass meine Änderungen immer gespeichert werden?
Verwende den Code ThisWorkbook.Close SaveChanges:=True in deinem Makro, um sicherzustellen, dass alle Änderungen gespeichert werden, bevor du die Datei schließt.

2. Was passiert, wenn ich Application.DisplayAlerts = False verwende?
Dieser Befehl unterdrückt alle Warnmeldungen von Excel, einschließlich der Bestätigungsaufforderungen. Du musst jedoch sicherstellen, dass deine Daten gespeichert werden, bevor du diesen Befehl anwendest.

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