Herbers Excel-Forum - das Archiv

Code funktioniert nicht

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
TextBox
Bild

Betrifft: Code funktioniert nicht
von: Servoazubi

Geschrieben am: 04.01.2007 08:38:16
Hallo liebe Experter, ich habe einen Teilcode für ein Eingabetextfeld geschrieben. Dieser soll beinhalten das man in diese Zelle nur eine 1 oder eine 0 schreiben darf, andernfalls soll direkt eine fehlermeldung per msgbox kommen. Was ist an meinem code falsch ??
das Textfeld heisst txtFracht
Private Sub txtFracht_AfterUpdate()
If UFFormat.txtFRACHT.Text = "" Then
MsgBox "Bitte Parameter bei Fracht angeben."
ElseIf UFFormat.txtFRACHT.Text = 0 Then
txtFRACHT.Locked = False
ElseIf UFFormat.txtFRACHT.Text = 1 Then
txtFRACHT.Locked = False
Else
MsgBox "Ungültiger Parameter bei Fracht. Geben sie eine 1 oder eine 0 an."
End If
End Sub

DIe txtFracht.locked elemente habe ich nur drin damit der etwas macht wenn da ne 0 ode rne 1 drin ist ..... sind platzhalten weil ich nicht wusste was ich machen kann damit wenn die bedingung 1 oder 0 erfüllt ist der einfach weitermacht, denn dann soll ja nichts passieren.
Ich hoffe man versteht was ich will ..... wahrscheinlich kenne ich einfach nur den richtigen befehl nicht ..... danke für eure Hilfe
Bild

Betrifft: AW: Code funktioniert nicht
von: chris b

Geschrieben am: 04.01.2007 08:46:30
Hallo,wenn ich Dich richtig verstehe sollte dir das dein problem beheben.
gruß Chris
Private Sub txtFracht_Change()
On Error GoTo fehler
If UFFormat.txtFracht.Text = "" Then
MsgBox "Bitte Parameter bei Fracht angeben."
ElseIf UFFormat.txtFracht.Text = 0 Then
txtFracht.Locked = False
ElseIf UFFormat.txtFracht.Text = 1 Then
txtFracht.Locked = False
Else
fehler:
MsgBox "Ungültiger Parameter bei Fracht. Geben sie eine 1 oder eine 0 an."
End If
End Sub

Bild

Betrifft: AW: Code funktioniert nicht
von: Servoazubi
Geschrieben am: 04.01.2007 08:53:52
Danke jetzt funktionierts TOP
Bild

Betrifft: AW: Code funktioniert nicht
von: Hoffi

Geschrieben am: 04.01.2007 08:49:23
Hallo,
hat dir unsere Möglichkeit von gestern nicht geholfen??
Hier noch ein anderer Code, der bewirkt, das Du NUR eine 1 oder 0 eingeben darfst:
Private Sub txtFracht_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48,49 '48 steht für 0, 49 für 1
Case Else
MsgBox "Bitte nur 1 oder 0 eingeben"
KeyAscii = 0
End Select
End Sub

Grüße
Hoffi
Bild

Betrifft: AW: Code funktioniert nicht
von: Servoazubi
Geschrieben am: 04.01.2007 08:54:56
Ich hab noch nie mit dem KeyPress gearbeitet darum versuche ich immer diesen BEfehl zu umgehen ....
Bild

Betrifft: AW: Code funktioniert nicht
von: Hoffi

Geschrieben am: 04.01.2007 09:01:10
Hallo,
Im Grunde behebt dieser Befehl aber Dein Problem, da in die Textbox von vornherein NUR die 1 oder 0 zugelassen ist, alle anderen Tasten bewirken das die MSGbox aufgerufen wird.
Grüße
Hoffi
 Bild