Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
212to216
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
212to216
212to216
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Eingabe erzwingen

Eingabe erzwingen
03.02.2003 07:24:41
klaus
Hallo

Wie kann ich eine Userform mit mehreren Textfeldern und mehreren Comboboxen prüfen ob alle Felder ausgefüllt sind? Der User muss alle Boxen ausfüllen ansonsten darf die Userform nicht schließen.
Ich hab schon mit dem ausblenden des commandbutton versucht, dies gelingt mir aber nur für eine Box.

MfG Klaus

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Eingabe erzwingen
03.02.2003 07:26:45
Hajo_Zi

Hallo Klaus

bei Fragen zum Code macht es sich immer gut, wenn auch der Code gepostet ist.

Du mußt das einblenden des CommanButton davon Abhängig machen das alle Textboxen gefüllt sind.

Gruß Hajo

Re: Eingabe erzwingen
03.02.2003 07:41:55
klaus

Hallo Hajo

Wie stelle ich die Abhängigkeit her bei mehreren Boxen?

Hier mein bisheriger Code (habe erst mit VBA angefangen):

Private Sub cmdEintragen_Click()
Dim i As Byte, control As Boolean
Dim lgFreieZeile As Integer
'----------------------------------------Eingabe Kombinationsfelder---------------------------------------------
'If cboErstName.Value = "" Then
'MsgBox "Der Wert In ""Erstellt von:"" fehlt!", vbOKOnly + vbExclamation, "Fehler"
If cboErstName.Text <> "" Then
If cboErstName.ListCount > 0 Then
For i = 0 To cboErstName.ListCount - 1
If cboErstName.List(i) = cboErstName.Text Then control = True
Next i
If control Then
Worksheets("EingabeIntern").Activate
lgFreieZeile = [A65536].End(xlUp).Row + 1
Worksheets("EingabeIntern").Cells(lgFreieZeile, 9) = Controls("cboErstName").Value
Else
' Der Text ist wirklich neu und wird am Ende der Liste angefügt
Worksheets("Tabelle2").Activate
lgFreieZeile = [b65536].End(xlUp).Row + 1
Worksheets("Tabelle2").Cells(lgFreieZeile, 2) = Controls("cboErstName").Value
Worksheets("EingabeIntern").Activate
lgFreieZeile = [A65536].End(xlUp).Row + 1
Worksheets("EingabeIntern").Cells(lgFreieZeile, 9) = Controls("cboErstName").Value
End If
End If
End If
'----------------------------------------------------------------------------Kundennahme
If cboKdName.Text <> "" Then
If cboKdName.ListCount > 0 Then
For i = 0 To cboKdName.ListCount - 1
If cboKdName.List(i) = cboKdName.Text Then control = True
Next i
If control Then
Worksheets("EingabeIntern").Activate
lgFreieZeile = [A65536].End(xlUp).Row + 1
Worksheets("EingabeIntern").Cells(lgFreieZeile, 6) = Controls("cboKdName").Value
Else
' Der Text ist wirklich neu und wird am Ende der Liste angefügt
Worksheets("Tabelle2").Activate
lgFreieZeile = [c65536].End(xlUp).Row + 1
Worksheets("Tabelle2").Cells(lgFreieZeile, 3) = Controls("cboKdName").Value
Worksheets("EingabeIntern").Activate
lgFreieZeile = [A65536].End(xlUp).Row + 1
Worksheets("EingabeIntern").Cells(lgFreieZeile, 6) = Controls("cboKdName").Value
End If
End If
End If
'------------------------------------------------------------------Abteilung
If cboCfAbt.Text <> "" Then
If cboCfAbt.ListCount > 0 Then
For i = 0 To cboCfAbt.ListCount - 1
If cboCfAbt.List(i) = cboCfAbt.Text Then control = True
Next i
If control Then
Worksheets("EingabeIntern").Activate
lgFreieZeile = [A65536].End(xlUp).Row + 1
Worksheets("EingabeIntern").Cells(lgFreieZeile, 10) = Controls("cboCfAbt").Value
Else
Worksheets("Tabelle2").Activate
lgFreieZeile = [d65536].End(xlUp).Row + 1
Worksheets("Tabelle2").Cells(lgFreieZeile, 4) = Controls("cboCfAbt").Value
Worksheets("EingabeIntern").Activate
lgFreieZeile = [A65536].End(xlUp).Row + 1
Worksheets("EingabeIntern").Cells(lgFreieZeile, 10) = Controls("cboCfAbt").Value
End If
End If
End If
'--------------------------------------------------------------------------Fehler Nummer
Worksheets("EingabeIntern").Activate
lgFreieZeile = [A65536].End(xlUp).Row + 1
Worksheets("EingabeIntern").Cells(lgFreieZeile, 7) = Controls("cboFehlNr").Value
'--------------------------------------------------------------------------------Leitung
If cboLeitNam.Text <> "" Then
If cboLeitNam.ListCount > 0 Then
For i = 0 To cboLeitNam.ListCount - 1
If cboLeitNam.List(i) = cboLeitNam.Text Then control = True
Next i
If control Then
Worksheets("EingabeIntern").Activate
lgFreieZeile = [A65536].End(xlUp).Row + 1
Worksheets("EingabeIntern").Cells(lgFreieZeile, 11) = Controls("cboLeitNam").Value
Else
' Der Text ist wirklich neu und wird am Ende der Liste angefügt
Worksheets("Tabelle2").Activate
lgFreieZeile = [f65536].End(xlUp).Row + 1
Worksheets("Tabelle2").Cells(lgFreieZeile, 6) = Controls("cboLeitNam").Value
Worksheets("EingabeIntern").Activate
lgFreieZeile = [A65536].End(xlUp).Row + 1
Worksheets("EingabeIntern").Cells(lgFreieZeile, 11) = Controls("cboLeitNam").Value
End If
End If
End If
'-------------------------------------------------------------------------------Mitarbeit
If cboMitNam.Text <> "" Then
If cboMitNam.ListCount > 0 Then
For i = 0 To cboMitNam.ListCount - 1
If cboMitNam.List(i) = cboMitNam.Text Then control = True
Next i
If control Then
Worksheets("EingabeIntern").Activate
lgFreieZeile = [A65536].End(xlUp).Row + 1
Worksheets("EingabeIntern").Cells(lgFreieZeile, 12) = Controls("cboMitNam").Value
Else
Worksheets("Tabelle2").Activate
lgFreieZeile = [g65536].End(xlUp).Row + 1
Worksheets("Tabelle2").Cells(lgFreieZeile, 7) = Controls("cboMitNam").Value
Worksheets("EingabeIntern").Activate
lgFreieZeile = [A65536].End(xlUp).Row + 1
Worksheets("EingabeIntern").Cells(lgFreieZeile, 12) = Controls("cboMitNam").Value
End If
End If
End If
'-----------------------Eingabe Textfelder------------------------------------------------------------------------
If txbDat.Value = "" Then
MsgBox "Der Wert In Datum fehlt!", vbOKOnly + vbExclamation, "Fehler"
cmdEintragen.Visible = False 'ausblenden

ElseIf txbDat.Text <> "" Then
Worksheets("EingabeIntern").Activate
lgFreieZeile = [A65536].End(xlUp).Row + 1
Worksheets("EingabeIntern").Cells(lgFreieZeile, 2) = Controls("txbDat").Value
cmdEintragen.Visible = True
End If
' Atomatische Zeilennummerierung Salte 1
Worksheets("EingabeIntern").Activate
lgFreieZeile = Worksheets("EingabeIntern").Range("A65536").End(xlUp).Row + 1
Cells(lgFreieZeile, 1) = Cells(lgFreieZeile - 1, 1) + 1

End Sub

Gruß Klaus

Anzeige
Re: Eingabe erzwingen
03.02.2003 12:06:56
Hajo_Zi

Hallo Klaus

das ist aber nicht der Code. Oder sehe ich das Falsch??

Der CommandButton soll doch erst ausgeführt werden, wenn alle Textboxen aisgefüllt sind und danach kann erst das cmdEintragen_Click kommen.

Gruß Hajo

Re: Eingabe erzwingen
05.02.2003 06:48:24
klaus

Hallo Hajo!

Sorry, aber ich war die letzten Tage mit anderen Dingen beschäftigt und nicht am Rechner. Ich habe heute Morgen Deinen Code eingebaut und es läuft prima. Noch was zum Code den ich gepostet habe - es ist nur ein Teil (der falsche). Evtl. kommt er Dir auch etwas verworren und umständlich vor aber ich bin ja erst am VBA lernen und vieles verstehe ich noch nicht. Deshalb bin ich auch ganz froh das es Spezialisten wie Dich gibt die mit Rat zur Seite stehen.
Danke !!
MfG Klaus


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige