Eingabe in Feld zwingend
Hallo Zusammen
Ich habe wieder mal eine Frage:
Ich erstelle momentan ein Bestellformular im Excel. Dazu müssen einige Felder zwingend mit Daten (teils frei, teils mittels Gültigkeit) befüllt werden.
Gibt es eine Möglichkeit, dass das Formular erst abgespeichert werden kann, wenn die betreffenden Felder mit Daten befüllt sind? Und wenn ja, wie funktioniert das?
Besten Dank für eure Hilfe
Gruss
Antwort schreiben
Antwort 1 von DukeNT vom 11.12.2019, 12:18 Options
Hi ciccinho,
Drücke Alt+F11 - Doppelklick links auf "DieseArbeitsmappe" und folgenden Code da einfügen.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If WorksheetFunction.CountA( _
Worksheets("Tabelle1").Range("D5,D7,D9,D11,e13")) < 5 Then
MsgBox "Bitte alle Eingabefelder ausfüllen!"
Cancel = True
End If
End Sub
Den Teil Worksheets("Tabelle1").Range("D5,D7,D9,D11,e13")) müßt du noch nach deinen Vorgaben anpassen.
Gruß Niels
Antwort 2 von ciccinho vom 11.12.2019, 13:43 Options
Hallo Nils
Wenn ich Alt+F11 drücke, dann erscheint bei mir lediglich ein neues Fenster (Visual Basic) ohne Inhalt.
Wo genau muss ich den Doppelklick ansetzen?
Vielen Dank
Antwort 3 von DukeNT vom 11.12.2019, 14:01 Options
Hi,
in dem VisualBasic Fenster auf der linken Seite unter VBAProject steht:
-Microsoft Excel Objekte
-DieseArbeitsmappe - (Hier Doppelklick)
-Tabelle1
-Tabelle2
-Tabelle3
Antwort 4 von ciccinho vom 11.12.2019, 15:00 Options
hmmm.....
Ich habe im Visual Basic Fenster lediglich die Symbolleisten. Alles andere ist grau. Und VBA Project kann ich auch nirgends finden......
Antwort 5 von DukeNT vom 11.12.2019, 15:07 Options
ok,
dann im VBA-Fenster auf Ansicht - Projekt-Explorer (Strg+R)
jetzt müßte links das VBA-Project Fenster mit den Tabellen erscheinen.
Antwort 6 von ciccinho vom 11.12.2019, 15:46 Options
Hallo Nils
Vielen Dank für deine Bemühungen. Jetzt habe ich die Tabelle gefunden und konnte den Code eingeben. Danach klickte ich auf speicher und es erschien ein Laufzeitfehler, der folgender Abschnitt des Codes gelb markierte.
If WorksheetFunction.CountA( _
Worksheets("Frankfurter").Range("C10,C11,C12,C13,C14,H6,H10,H11,H12,H18,H19,H20,H21")) < 13 Then
Habe ich wieder etwas falsch gemacht?
Antwort 7 von DukeNT vom 11.12.2019, 16:14 Options
Welchen laufzeitfehler wirft er den aus? (Nr. + beschreibung)
Welche Excel Version hast du?
Antwort 8 von ciccinho vom 11.12.2019, 16:24 Options
Laufzeitfehler 1004
Anwendungs- oder objektdefinierter Fehler
Microsoft Office Excel 2003
Antwort 9 von DukeNT vom 11.12.2019, 17:07 Options
hmmm sehr merkwürdig......
Kannst du eine Beispiel-Datei mal bei www.netupload.de bereit stellen? Da Hochladen und dann den Link zu der Datei hier posten.
Gruß Niels
Antwort 10 von ciccinho vom 12.12.2019, 07:11 Options
Hallo Nils
Anbei der Link für die Datei. Alle grün hinterlegten Felder müssen zwingend ausgefüllt werden.
http://www.netupload.de/detail.php?img=940dbe712f1163591b64bb034efe19ac.xls
Besten Dank für deine Hilfe
Gruss
Antwort 11 von DukeNT vom 12.12.2019, 10:11 Options
Hi ciccinho,
komisch, bei mir funktioniert alles wie es soll.
Habe die Datei noch ein bischen bereinigt.
Vielleicht geht es ja mit dieser.
http://www.netupload.de/detail.php?img=5ffff3d9c3f2a9033dfdfe354e58451a.xls
Gruß Niels
Antwort 12 von ciccinho vom 12.12.2019, 14:02 Options
hallo nils
jetzt hat alles wunderbar geklappt. Nochmals besten Dank für deine Mühe
gruss
ciccinho