1.4k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo zusammen,

ich habe eine Excel-Tabelle mit einer einzigen Prüfsumme in Zelle A1 erstellt. Wenn diese <> 0 ist und der Nutzer möchte die Tabelle in diesem Zustand speichern, dann soll ein Hinweis erscheinen.
Bsp: Ein Fehler ist aufgetreten. Bitte korrigieren Sie zunächst den Fehler, bevor Sie die Tabelle speichern.

Ist so etwas möglich?

LG Lisa

6 Antworten

0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo Lisa,

ja das ist möglich. Das folgende Makro gehört in das VBA-Projekt der Arbeitsmappe.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

If Worksheets("Tabelle1").Range("A1") <> 0 Then
MsgBox "Ein Fehler ist aufgetreten. Bitte korrigieren Sie zunächst den Fehler, bevor Sie die Tabelle speichern.", 16, "Fehler"
Cancel = True
End If

End Sub


Den Namen der Tabelle musst du natürlich noch entsprechend anpassen. Der Speichervorgang wird mit dem Makro abgebrochen.

Gruß

M.O.
0 Punkte
Beantwortet von
Hallo M.O.

Vielen Dank für deine Hilfe!
0 Punkte
Beantwortet von
Hallo M.O.,

ich habe nun doch noch eine Frage.
Kann man neben dem "OK"-Button auch noch einen "trotzdem speichern"-Button integrieren?

LG Lisa
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo Lisa,

wenn du mit einer Messagebox arbeitest, dann kannst du nur die Buttons Ja, Nein und Abbrechen nutzen.

Ich habe das Makro mal entsprechend so geändert, dass bei einem Klick auf Ja die Mappe trotzdem gespeichert werden kann:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Dim rueckgabe

If Worksheets("Tabelle1").Range("A1") <> 0 Then
rueckgabe = MsgBox("Ein Fehler ist aufgetreten. Bitte korrigieren Sie zunächst den Fehler, bevor Sie die Tabelle speichern. Trotzdem speichern?", 20, "Fehler")
If rueckgabe = vbYes Then
Cancel = False
Else
Cancel = True
End If
End If

End Sub


Gruß

M.O.
0 Punkte
Beantwortet von flupo Profi (17.9k Punkte)
Nur mal so als Idee, wie man das Problem fehlerhafter Einträge auch ohne Messagebox angehen kann:
Mit der Prüfsumme in Verbindung mit bedingten Formatierungen können Fehler sehr schön sichtbar gemacht werden.

Ich habe mal ein System gebaut, wo ich bestimmte Berechnungen auch mit Prüfsummen gegengecheckt habe. Wenn die Summe stimmt, wird dann das Ausgabefeld grün
hinterlegt, bei Differenzen ist es rot.
Will man die Datei später drucken, ist das System natürlich weniger gut geeignet.

Gruß Flupo
0 Punkte
Beantwortet von
Hallo Flupo,

das ist in meiner Datei sogar der Fall *stolz* :)
Es erscheint in rot "Fehler" und daneben steht, in welchem Bereich der Fehler aufgetreten ist.
Allerdings gibt es immer wieder Leute, die sich nicht die Mühe machen, den Fehler zu korrigieren.

M.O., das Script funzt prima. Danke!

LG Lisa
...