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

"Änderungen speichern?" Abfrage verhindern!?

Forumthread: "Änderungen speichern?" Abfrage verhindern!?

"Änderungen speichern?" Abfrage verhindern!?
05.04.2004 21:52:40
Jens
Hallo Zusammen,
hat von Euch Jemand eine Idee dazu
wie man bei einer geschützten Datei,
die gemeinsam genutz wird, die Abfrage
nach dem speichern der Veränderungen verhindert?
Ändern tu ohnehin nur ich, und nach der Bestätigung
mit "JA" würde die Option "Speichern unter" kommen,
die keiner braucht!
Daher...??
Freue mich über jeden Lösungsansatz
So long - Jens
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: "Änderungen speichern?" Abfrage verhindern!?
05.04.2004 22:00:20
bernhard
hi jens
versuch mal dies:
weiss allerdings nicht, ob deine excell-version das versteht.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.DisplayAlerts = False
End Sub


Private Sub Workbook_Open()
Application.DisplayAlerts = True
End Sub

Anzeige
@Bernhard, das wirft ne neue Frage auf..
06.04.2004 11:44:13
Jens
Hallo Bernhard,
die verschiedenen Excel-Versionen haben unterschiedliche
"Sprachen" (Codes)??
Ich kann also Codes der Excel-Version 8.0 nicht in der Version 9.0
benutzen und anders herum??
Oder hab´ich da ´was falsch verstanden?
Diese Frage zu klären ist für mich sehr wichtig,
denn unser Unternehmen wird demnächst auf Office2000
umgerüstet, womit ich seit heute bereits arbeite.
Die bisher erstellten Makros und Codes (mit 97)
können wir dann nicht mehr verwenden bzw.
funktionieren nicht mehr???
Bitte sag, dass das nicht so ist!! :-(
Gruß - Jens
Anzeige
Kann Dich groesstenteils beruhigen ...
06.04.2004 14:52:21
Volker Croll
Hallo Jens,
zum Glueck geht's Du den Weg, den ich immer allen ans Herz lege:
Wenn ein Makro unter versch. Excel-Versionen laufen soll, dann moeglichst immer in der niedrigsten (also aeltesten) Version programmieren, dann gibt's relativ wenig bis gar keine Probleme.
Umgekehrt schon; was auch verstaendlich ist. Denn einen neuen Befehl, der in einer neuen Excel-Version hinzugekommen ist, kann die alte Version logischerweise nicht verstehen.
Ein Punkt der speziell bei der Kombination Excel 97 und Excel 2000 auftritt:
Wenn Du Dein VBA-Projekt unter Excel 2000 mit einem Kennwort geschuetzt hast, laest sich dieses unter Excel 97 nicht eingeben (andere Ent-/Verschluesselung).
Also in Excel 2000 Kennwort und Kennwortbestaetigung, sowie den Haken vor "Projekt fuer die Anzeige sperren" entfernen, SPEICHERN, unter Excel 97 oeffnen (VBA-Code ist jetzt fuer jeden sichtbar), dann Projekt wieder schuetzen.
Gruss
Volker Croll
www.crolltools.de
Anzeige
AW: "Änderungen speichern?" Abfrage verhindern!?
05.04.2004 22:04:00
Harald
Hallo Jens,
probier's mal nach dem Speicherbefehl mit der Befehlszeile:

Application.DisplayAlerts = False

Viel Spass beim Austesten!
Gruss Harald
@Harald, Deine Antw. verstehe ich nicht...
06.04.2004 10:49:34
Jens
Hallo,
danke Harald, aber leider versteh ich:
"nach dem Speicherbefehl" in Deiner Antwort nicht!
(ich kenne nur den DiskettenButton bzw. strg+s als Speichbefehl)
Also wenn überhaupt etwas gespeichert wird,
dann von mir (nachdem ich den Blattschutz deaktivierte)
dann speichere ich die Änderungen und aktiviere den Schutz wieder.
Dies ist die einzige Situation in der gespeichert wird.
(ca.2 mal/Monat)
Gruß
Jens
Anzeige
Frage noch nicht geklärt ...
06.04.2004 11:52:41
Jens
...sorry, ich schreib nochmal weil
ich keinen anderen Weg gefunden habe die Frage nochmal
ins Forum zu stellen...
AW: @Harald, Deine Antw. verstehe ich nicht...
06.04.2004 18:30:33
Harald
Sorry,
mit "nach dem Speicherbefehl" ich habe mich falsch ausgedrückt - sinnigerweise sollte es heissen: "vor der "Speichern?"-Abfrage". Ich habe damit jenen Code innerhalb der Prozedur gemeint, der der "Speichern?"-Abfrage vorausgeht.
Wenn darauf unmittelbar der Code

If ActiveWorkbook.ReadOnly then
ActiveWorkbook.Saved = True
Application.DisplayAlerts = False
Else
Application.DisplayAlerts = True
End If

folgt, dann dürfte die "Speichern?"-Abfrage danach gar nicht mehr erscheinen (...habe den Code noch verfeinert: Die "Speichern?"-Abfrage wird immer nur dann deaktiviert, wenn die aktive Arbeitsmappe schreibgeschützt ist).
Hoffe, ich kann Deine Frage damit ausreichend beantworten
Gruss Harald
Anzeige
AW: @Harald ...leider noch eine Frage dazu:
06.04.2004 21:12:16
Jens
Hallo Harald,
Danke Dir für den zweiten "Anlauf".
Ich habe das Gefühl ich drücke mich nicht eindeutig aus.(sorry)
Das, was der "Speichern?"-Abfrage vorausgeht ist doch immer der Versuch die Datei zu schließen. -oder gibt es noch andere Situationen?
- soll keine dumme Frage sein, mir fällt wirklich keine ein!
Da laufen keine Prozeduren. Alles basiert nur auf dem "SVERWEIS".
Ich sollte vielleicht erwähnen:
es handelt sich um eine ganz simple Tabelle, ca. 20.000 PLZ mit einer Verkäufer_ID,
die dazu dient durch Eingabe der PLZ den zuständigen Verkäufer anzuzeigen!
d.h. es gibt nur eine Zelle die nicht gesperrt (geschützt) ist,(zur Eingabe der PLZ)
und die wird ja jedesmal geändert; daher dann ja auch immer die Abfrage "Speichern?".
So etwas wie: (Sinngemäß)
WENN BEI AKTIVEM SCHREIBSCHUTZ DIESE DATEI GESCHLOSSEN WIRD
DANN GIB KEINE SPEICHERNABFRAGE AUS

Würde das gehen?
I`m sorry, aber VBA kann ich wenig! Aufzeichnen, Bisschen dran ändern, -mehr geht nicht!
Beste Grüsse - Jens
Anzeige
;
Anzeige

Infobox / Tutorial

Änderungen speichern? Abfrage verhindern


Schritt-für-Schritt-Anleitung

Um die "Änderungen speichern?" Abfrage in Excel zu verhindern, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne deine Excel-Datei.

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

  3. Klicke im Projekt-Explorer mit der rechten Maustaste auf "DieseArbeitsmappe" und wähle "Code anzeigen".

  4. Füge den folgenden Code ein:

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
       If ActiveWorkbook.ReadOnly Then
           ActiveWorkbook.Saved = True
           Application.DisplayAlerts = False
       End If
    End Sub
  5. Schließe den VBA-Editor und speichere deine Datei.

  6. Teste die Datei, indem du Änderungen vornimmst und sie schließt.

Dieser Code stellt sicher, dass beim Schließen der Datei keine Abfrage erscheint, wenn die Datei schreibgeschützt ist.


Häufige Fehler und Lösungen

1. Fehler: Der VBA-Code funktioniert nicht.

Lösung: Überprüfe, ob du den Code korrekt eingefügt hast und dass du die richtige Excel-Version verwendest. Einige Befehle können in älteren Versionen unterschiedlich funktionieren.

2. Fehler: Die Abfrage erscheint trotzdem.

Lösung: Stelle sicher, dass der Code in der "DieseArbeitsmappe"-Sektion eingefügt wurde und dass keine anderen Makros den Ablauf stören.


Alternative Methoden

Wenn du VBA nicht verwenden möchtest, gibt es auch einige manuelle Methoden:

  • Speichern unter: Anstatt die Datei einfach zu schließen, kannst du "Speichern unter" wählen und die Datei mit einem neuen Namen abspeichern. Dadurch wird die Abfrage vermieden.

  • Schreibschutz: Setze die Datei in den schreibgeschützten Modus, damit beim Schließen keine Änderungen gespeichert werden müssen. Dies kann über die Dateioptionen in Excel eingestellt werden.


Praktische Beispiele

Hier ist ein Beispiel, wie du den VBA-Code anpassen kannst, falls du mehrere Bedingungen berücksichtigen möchtest:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If ActiveWorkbook.ReadOnly Then
        ActiveWorkbook.Saved = True
        Application.DisplayAlerts = False
    Else
        ' Hier kannst du weitere Bedingungen hinzufügen
    End If
End Sub

Du kannst auch eine Benutzerabfrage einbauen, die dem Benutzer die Möglichkeit gibt, vor dem Schließen zu entscheiden, ob gespeichert werden soll oder nicht.


Tipps für Profis

  • Versionskontrolle: Achte darauf, dass du den VBA-Code in der niedrigsten Excel-Version schreibst, um Komplikationen beim Öffnen in neueren Versionen zu vermeiden.

  • Makros testen: Teste deine Makros in einer Kopie deiner Datei, um sicherzustellen, dass keine unerwarteten Probleme auftreten.

  • Backup erstellen: Erstelle immer ein Backup deiner Dateien, bevor du VBA-Codes anwendest, um Datenverlust zu vermeiden.


FAQ: Häufige Fragen

1. Frage
Kann ich diesen Code in jeder Excel-Version verwenden?
Antwort: Die meisten grundlegenden VBA-Befehle sind in den gängigen Excel-Versionen kompatibel, jedoch können einige neuere Funktionen in älteren Versionen nicht unterstützt werden.

2. Frage
Was passiert, wenn ich die Datei schließe und der Code nicht funktioniert?
Antwort: In diesem Fall wird die Standardabfrage angezeigt, und du musst entscheiden, ob du speichern möchtest oder nicht. Überprüfe deinen VBA-Code auf Fehler.

3. Frage
Kann ich die Abfrage nur in bestimmten Fällen verhindern?
Antwort: Ja, du kannst den VBA-Code so anpassen, dass die Abfrage nur unter bestimmten Bedingungen unterdrückt wird, z.B. nur bei schreibgeschützten Dateien.

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