Ich möchte in eine Excel-Tabelle Pflichtfelder erstellen, sobald in einer Zelle ein Wert eingetragen ist?

... komplette Frage anzeigen

2 Antworten

Prüfe im Ereignishandler Workbook_BeforeSafe auf die Bedingungen und setze ggf. den Parameter Cancel auf True.

Da die Zellen sich aber in einer Arbeitsmappe befinden, würde ich es für guten Stil halten, die Prüfung auch hier vorzunehmen, aber hier stelle ich eine einfache Lösung vor.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim zeile As Long, OK As Boolean
OK = True
For zeile = 1 To Tabelle1.Cells.SpecialCells(xlCellTypeLastCell).Row
If Tabelle1.Cells(zeile, 1).Value <> "" Then
If Tabelle1.Cells(zeile, 3).Value = "" Then OK = False 'Spalte C
If Tabelle1.Cells(zeile, 5).Value = "" Then OK = False 'Spalte E
If Tabelle1.Cells(zeile, 6).Value = "" Then OK = False 'Spalte F
If Tabelle1.Cells(zeile, 8).Value = "" Then OK = False 'Spalte H
End If
Next
If Not OK Then
MsgBox "Speichern nicht möglich - nicht alle Pflichtfelder ausgefüllt"
Cancel = True
End If
End Sub

Möglicherweise musst du noch ein  Trim um die Tabelle1.Cells(...).Value wickeln, damit eine Reihe von Leerzeilen als leer gilt.

Man könnte noch anzeigen lassen, welche Pflichtzellen nicht ausgefüllt sind und die erste dieser Zellen auswählen und noch viele andere Verfeinerungen.

Denk dran, dass der Benutzer das Ausführen von Makros unterbinden kann.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Python1860
19.04.2016, 07:44

Hallo PWolff,

besten Dank, für die Super schnelle Hilfe funktioniert bestens.

Du hast noch geschrieben, dass man nicht ausgefüllte Pflichtfelder markieren und gleich die erste Zelle Auswählen kann.

Könntest du mir das evtl. bitte auch kurz schreiben wie man das macht?

Vielen Dank im Voraus!

Viele Grüße Python1860

0

Musst du das in Excel machen? MS Access wäre besser für so etwas geeignet.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Python1860
19.04.2016, 07:50

Hallo Helfenderuser,

Vielen Dank für den Hinweis.

Pflichtfelder definieren würde sicher mit Access besser funktionieren. Ich möchte aber das Excel gerne als Template per Mail verschicken, die Anwender sollen es dann ausfüllen und wieder zurück schicken.

Vielen Dank nochmals!

Viele Grüße Python1860

0