2016-07-08 12 views
0

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: The page that works fine

Das Problem Seite (Ich habe versucht zu zeigen, wie nichts zeigt, wenn Sie eingeben und es geht in diesem Drop-down automatisch): enter image description here

-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:

Antwort

2
  • Wählen Sie die Multi Seite
  • Klicken Sie auf Ansicht -> Tab Oder

Dies wird die Tab-Reihenfolge Dialog zeigen.

enter image description here