AW: Eingabe erzwingen
=Peter=
Hallo Wolfgang,
da du VBA gut angibst als Ansatz mal den nachfolgenden Code den ich irgendwann gefunden habe. In diesem Beispiel ging es darum, dass das Feld A1 ausgefüllt werden muss. Wenn dieses Feld nicht ausgefüllt ist, dann darf Excel nicht gespeichert bzw. geschlossen werden. Allerdings wird die Gültigkeit des Wertes nicht überprüft und vermutlich (ich habe es nicht ausprobiert) wird auch die Eingabe von Leertaste, x oder ähnlichem nicht verhindert. Aber evtl. kannst du das ja noch mit einbauen.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Autor: Frank Arendt-Theilen
If Me.Worksheets("Tabelle1").Range("A1").Value = "" Then
Cancel = True
MsgBox "Zelle A1 ist leer. Tragen Sie einen Wert ein!", vbCritical
Worksheets("Tabelle1").Activate
Worksheets("Tabelle1").Range("A1").Select
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Autor: Frank Arendt-Theilen
If Me.Worksheets("Tabelle1").Range("A1").Value = "" Then
Cancel = True
MsgBox "Zelle A1 ist leer. Tragen Sie einen Wert ein!", vbCritical
Worksheets("Tabelle1").Activate
Worksheets("Tabelle1").Range("A1").Select
End If
End Sub
PS: Der Code muss in das Modul 'DieseArbeitsmappe'
PPS: Da meine VBA-Kenntnisse gegen null tendieren kann ich dir leider nicht weiterhelfen.
Gruss
Peter