Supportnet / Forum / Tabellenkalkulation
Speichern nicht vor erledigter Fehlermeldung zulassen...
Frage
Hallo Excel-Gemeinde,
ich habe mir ein Wochenübersichtsblatt erstellt, in dem die Arbeitnehmer pro Tag die Kostenstellen, die Lohnart und die gebrauchte Zeit eintragen.
Über die Funktion Gültigkeit habe ich bereits einen großen Teil von Falscheintragungen erschlagen, die dann entsprechend sofort geändert müssen.
Allerdings kann man diese Gültigkeit austricksen und drum habe ich mir Hilfszellen (AT9:BW26) angelegt, die dann fehlerhafte Eingaben als "Fehler" ausweisen.
Da dann jedoch die Gültigkeitsregeln nicht mehr greifen, habe ich mir überlegt, ob man das nicht irgendwie per Makro abfangen kann... und da kommt jetzt meine Frage an Euch:
Gibt es eine Möglichkeit vor dem Speichern einer Datei einen Checklauf zu starten, der die Zellen Z9:Z26 nach dem Wort "Fehler" durchsucht und falls er dort das Wort findet, dann eine Msg-box als Hinweis zu öffnen und gleichzeitig das speichern auch solange zu verhindern, bis alle "Fehler" in "OK" umgewandelt wurden?
Dieser Ablauf zur "Fehler"-suche könnte dann über den eigenen Wochenblatt speichern-Button (siehe Z2) gestartet werden, wenn die Funktionen des Speicher-Buttons in der Symbolleiste bzw. die Befehle über Datei - speichern bzw. speichern untern in diesem Fall gesperrt würden.
Vielleicht hat ja auch jemand eine ganz andere Idee und kann mir da einfach weiterhelfen.
Zum hoffentlich besseren Verständnis gibt es hier einen Link auf meine Datei.
http://upload.npcfighter.de/files/36/3746/Zeitlohnschein%20-%20Metallbau%20Sonder.XLT
Ich bedanke mich im Voraus schon mal bei all denen, die sich meine Frage anschauen und versuchen, mir eine Hilfestellung zu geben.
In diesem Sinne.... have a nice Day... Gruß Helmut
Antwort 1 von Tomschi
Hallo Helmut!
Ich bin kein VBA-Profi und ich habe Deine Datei jetzt auch nicht heruntergeladen, aber ich würde es eventuell so machen.
In "DieseArbeitsmappe"
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Range("a1") <> 0 Then
Cancel = True
MsgBox "Bitte Felder korrekt ausfüllen."
Else
End If
End Sub
Da Du ja bereits eine Hilfsspalte hast, zähle die "Fehler" im Bereich Z9:Z26. Falls dort Null steht --> in meinem Beispiel Range("a1") dann eben die Meldung.
Ciao
Tom
Ich bin kein VBA-Profi und ich habe Deine Datei jetzt auch nicht heruntergeladen, aber ich würde es eventuell so machen.
In "DieseArbeitsmappe"
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Range("a1") <> 0 Then
Cancel = True
MsgBox "Bitte Felder korrekt ausfüllen."
Else
End If
End Sub
Da Du ja bereits eine Hilfsspalte hast, zähle die "Fehler" im Bereich Z9:Z26. Falls dort Null steht --> in meinem Beispiel Range("a1") dann eben die Meldung.
Ciao
Tom
Antwort 2 von finger59
Hi Tom,
vielen Dank für Deine Unterstützung.
Ich habe zwar erst ein wenig auf dem Schlauch gestanden mit dem A1 ;-), aber beim dritten lesen kam die Erleuchtung und es hat funktioniert.
Werde noch ein klein wenig daran feilen, aber das passt schon.
Nochmals vielen Dank....
have a nice Day.... Gruß Helmut
vielen Dank für Deine Unterstützung.
Ich habe zwar erst ein wenig auf dem Schlauch gestanden mit dem A1 ;-), aber beim dritten lesen kam die Erleuchtung und es hat funktioniert.
Werde noch ein klein wenig daran feilen, aber das passt schon.
Nochmals vielen Dank....
have a nice Day.... Gruß Helmut
Antwort 3 von Tomschi
Guten Morgen Helmut!
Sorry, für meine unklare Ausdrucksweise.
Stand beim Formulieren schon ein wenig unter Zeitdruck.
Zum Glück hast Du dann doch noch herausgefunden was ich gemeint habe.
Ciao
Tom
Sorry, für meine unklare Ausdrucksweise.
Stand beim Formulieren schon ein wenig unter Zeitdruck.
Zum Glück hast Du dann doch noch herausgefunden was ich gemeint habe.
Ciao
Tom

