Das Ziel:TabIndex arbeitet falsch
Wenn ich wechsle Seiten in meiner VBA Userform, würde ich ein bestimmtes Feld wie der erste Eingangswert zu sein. Und dann möchte ich, dass sie nacheinander wechseln, wenn ich sie durchblättere.
Was ich bisher getan haben:
Die Seiten erstellt werden (zum größten Teil, sie müssen noch einen künstlerischen Verstand es wie ein Ingenieur es nicht tun aussehen zu lassen), ist die Logik gemacht, im Grunde ist alles getan. Die Eingabefelder tabIndex propertys werden ab 20 gesetzt und gehen bis zu 27 in der gewünschten Reihenfolge. Bilder werden unten angehängt.
Das Problem:
Wenn ich die nächste Taste drücken, die Userform automatisch geht an das "Kühlsystem" Drop-Down. Wenn ich die Tabulatortaste drücke, wird das nächste Dropdown-Menü angezeigt. Dann durch die anderen Optionen in einer seltsamen, aber konstanten Reihenfolge. Und das Seltsame ist, ich kann schreiben, aber kein Text erscheint. Der Cursor bewegt sich, aber nichts kommt dahinter. Nachdem ich alles durchgeblättert habe, drücke ich, wenn ich den Tab erneut drücke, nur DANN, was ich will. Ich habe Bilder und den Code für den nächsten Button beigefügt. Vielen Dank für Ihre Hilfe im fortgeschrittenen Stadium. Lass es mich wissen, wenn ich etwas klären kann!
Die Seite, die gut funktioniert:
Das Problem Seite (Ich habe versucht zu zeigen, wie nichts zeigt, wenn Sie eingeben und es geht in diesem Drop-down automatisch):
-Code für „Next "Button:
Private Sub bNextSystem1_Click() 'checks to see if all parameters are entered
If IsNumeric(Me.txtS1elec.value) = True And IsNumeric(Me.txtS1NG.value) = True And IsNumeric(Me.txtS1sqft.value) = True Then
If Me.txtS1elec.value <> "" And Me.txtS1NG.value <> "" And Me.txtS1sqft.value <> "" And Me.ddS1Cooling.ListIndex > -1 And Me.ddS1Heating.ListIndex > -1 Then
NextPage
Me.txtS1elec.BackColor = vbWhite
Me.txtS1NG.BackColor = vbWhite
Me.txtS1sqft.BackColor = vbWhite
Else
MsgBox "Please check to see if all options are selected or entered."
GoTo CleanFail
End If
Else
HighlightBadCells1 'checks for incorrect cell input values
MsgBox "Please check the highlighted cells"
GoTo CleanFail
End If
Me.txtS2elec.value = Me.txtS1elec.value
Me.txtS2NG.value = Me.txtS1NG.value
CleanFail:
End Sub
-Code für "Nächste" Sub-Routine: