Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
644to648
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
644to648
644to648
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mussfeld

Mussfeld
03.08.2005 21:24:10
Thierry
Hallo Zusammen!
Ich suche eine Möglichkeit den User darauf aufmerksam zu machen, dass ein Feld immer ausgefüllt werden muss, wenn in ein bestimmtes Feld "ja" oder "nein" steht.
z.B.
A1.........B1
Ja........."Mussfeld"
A2.........B2
Nein......."Mussfeld"
usw.
Ideal wäre es,
1) dass eine Msgbox den User auf diesen Fehler aufmerksam macht, z.B. Achtung Zelle B1 oder B2 usw. muss noch ausgefüllt werden.
2) dass die Zelle die ausgefüllt werden muss rot wird und bleibt, bis diese ausgefüllt wird.
Auch möchte ich noch wissen, ob es möglich ist, eine Textbox in einer Userform als Mussfeld zu definieren. Das heisst, dass die Userform z.B. nicht geschlossen werden kann, bis alle Felder ausgefüllt wurden.
Ich hoffe, dass ich Euch das Problem schildern konnte.
Im voraus vielen Dank.
Thierry

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mussfeld
03.08.2005 21:42:41
Matthias
Hallo Thierry,
zu 2:
B1 markieren
Format - Bedingte Formatierung - "Formel ist" auswählen, in das Feld: =UND(A1="ja";B1="")
zu 3:
Im Code, der die UF schließen soll, prüfen:
If Textbox1 = "" Then
MsgBox "Bitte Wert eintragen!"
TextBox1.SetFocus
Exit Sub
End If

Gruß Matthias
AW: Mussfeld
03.08.2005 22:52:33
Thierry
Hallo Matthias
Vielen Dank für deine Antwort.
zu 2: die Formel konnte ich gut gebrauchen.
zu 3 muss gestehen, dass meine VBA Kenntnisse nicht sehr gross sind, obwohl ich einen 3-tägigen Basiskurs absolviert habe ;-)).
Ich müsste den Code in einem CommandButton integrieren. Glaube aber, dass etwas falsch ist. Könntest du bitte den Code korrigieren und zusätzlich eine zweite Textbox2 im Code integrieren. Somit könnte ich den Code 1 zu 1 übernehmen.

Private Sub CommandButton1_Click
If Textbox1 = "" Then
MsgBox "Bitte Wert eintragen!"
TextBox1.SetFocus
Exit Sub
End If
End Sub

Gruss.
Thierry
Anzeige
AW: Mussfeld
03.08.2005 23:01:57
Matthias
Hallo Thierry,
wenn der Button zum Schließen des Userforms dienen soll:

Private Sub CommandButton1_Click
If Textbox1 = "" Then
MsgBox "Bitte Wert in (Textbox1) eintragen!"
TextBox1.SetFocus
Exit Sub
End If
If Textbox2 = "" Then
MsgBox "Bitte Wert in (Textbox2) eintragen!"
TextBox2.SetFocus
Exit Sub
End If
Unload Me
End Sub

Gruß Matthias
AW: Mussfeld
04.08.2005 01:06:40
Leo
Hi,
du musst, bei aller Liebe zu Pflichtfeldern, dem user aber immer die Möglichkeit geben,
den Vorgang abzubrechen, alle Andere ist Murks.
mfg Leo
AW: Mussfeld
04.08.2005 17:44:33
Thierry
Matthias, vielen Dank für deine Hilfe. Thierry
Anzeige
AW: Mussfeld
05.08.2005 18:51:52
Thierry
Hallo Matthias
Ich habe den Code in die Userform eingefügt und soweit funktionieren die Pflichtfelder. Das heisst, die Userform bleibt offen bis alle Felder ausgefüllt werden. Gleichzeit erscheint eine MsgBox die den User auf den Fehler aufmerksam macht.
Ziel der Userform ist es, dass die eingefügten Daten weiter unten auf dem gleichen Blatt erscheinen. Soweit alles in Ordnung. Das Problem liegt aber darin, dass jedes Mal wenn der User auf den Command.Button drückt, die Daten der Userform in der Tabelle geschrieben werden. Dies geschieht auch wenn die Userform noch nicht vollständig ausgefüllt worden ist. Wenn ich Pech habe drückt der User 4 Mal auf dem Command Button bevor er alle Pflichtfelder ausgefüllt hat. Somit werden im Excel 4 Zeilen für den gleichen Kunden ausgefüllt.
Ich möchte, dass die Daten der Userform nur dann weitergeben werden, wenn alle Pflichtfelder ausgefüllt worden sind.
Im voraus vielen Dank für eine Lösung.
Thierry
Anzeige
AW: Mussfeld
05.08.2005 18:53:43
Thierry
Hallo Matthias
Ich habe den Code in die Userform eingefügt und soweit funktionieren die Pflichtfelder. Das heisst, die Userform bleibt offen bis alle Felder ausgefüllt werden. Gleichzeit erscheint eine MsgBox die den User auf den Fehler aufmerksam macht.
Ziel der Userform ist es, dass die eingefügten Daten weiter unten auf dem gleichen Blatt erscheinen. Soweit alles in Ordnung. Das Problem liegt aber darin, dass jedes Mal wenn der User auf den Command.Button drückt, die Daten der Userform in der Tabelle geschrieben werden. Dies geschieht auch wenn die Userform noch nicht vollständig ausgefüllt worden ist. Wenn ich Pech habe drückt der User 4 Mal auf dem Command Button bevor er alle Pflichtfelder ausgefüllt hat. Somit werden im Excel 4 Zeilen für den gleichen Kunden ausgefüllt.
Ich möchte, dass die Daten der Userform nur dann weitergeben werden, wenn alle Pflichtfelder ausgefüllt worden sind.
Im voraus vielen Dank für eine Lösung.
Thierry
Anzeige
AW: Mussfeld
05.08.2005 20:13:47
Matthias
Hallo Thierry,
Ist das so schwer?
Du musst die gleichen Prüfungen, die du beim Schließen-Button durchführst und die ggf. zum Abbruch der Prozedur führen, vor in die Prozedur stellen, die die Einträge in die Tabelle schreibt.
Ober du lagerst die Prüfung in eine Funktion aus:

Function EingabeOK() As Boolean
If TextBox1<>"" And TextBox2<>"" And TextBox3<>"" Then 'je nachdem welche Pflichtfelder
EingabeOK = True
Else
EingabeOK = False
End If
End Function
Sub CommandButton1_Click() 'UF schließen
If Not EingabeOK Then
MsgBox "Pflichtfelder ausfüllen!"
Exit Sub
End If
Unload Me
End Sub
Sub CommandButton2_Click() 'Daten übertragen
If Not EingabeOK Then
MsgBox "Pflichtfelder ausfüllen!"
Exit Sub
End If
'hier der Code zum Daten übertragen
End Sub

Gruß Matthias
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige