Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1032to1036
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
Inhaltsverzeichnis

Pfeiltasten in Userforms

Pfeiltasten in Userforms
30.12.2008 02:37:00
Chris
Hallo VBA-Profis :-)
mein Problem ist das ich in einer Userform nur bedingt mit den Pfeiltasten navigieren kann. Tabulator funktioniert immer, aber Pfeiltasten nur an einigen Stellen und nur auf und ab (zwischen Textboxen). Nun möchte ich aber zwischen den Textboxen auch links und rechts springen können. (z.B. um zur vorigen zurückzukommen wenn ein Eingabefehler passiert ist).
Die Textboxen sind nebeneinander und übereinander angeordnet.. teilweise unterbrochen von OptionButtons und Labels. Nur die einzutragenden Felder besitzen die Einstellung TabStop=True und nur zwischen diesen möchte ich mit Pfeiltasten navigieren können.
Gibt es da eine Einstellung in den Eigenschaften (Textbox oder Userform), oder eine andere Lösung?
Vielen Dank schonmal für die Hilfe :-)
Chris

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfeiltasten in Userforms
30.12.2008 09:03:00
Yusuf
Hi,
mit Shift + Tab kannst du rueckwaerts die Textboxen "ablaufen", falls du das noch nicht wusstest und hier keine andere Lösung kommen sollte.
Gruß
Yusuf
sind Pfeiltasten trotzdem möglich?
30.12.2008 13:57:00
Chris
Danke Yusuf,
das mit dem shift+Tab wusste ich .. leider ist das für den Endbenutzer etwas unpraktisch.. Pfeiltasten wären mir lieber.
Gibt es evtl noch eine andere Lösung?
Schonmal Guten Rutsch für alle :-)
AW: sind Pfeiltasten trotzdem möglich?
30.12.2008 16:07:58
Nepumuk
Hallo Chris,
versuch es mal so:
' **********************************************************************
' Modul: clsTextBox Typ: Klassenmodul
' **********************************************************************

Option Explicit

Private WithEvents mobjTextBox As MSForms.TextBox

Friend Property Set prpSetTextBox(objTextBox As MSForms.TextBox)
    Set mobjTextBox = objTextBox
End Property

Private Sub mobjTextBox_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 39 Then SendKeys "{TAB}"
    If KeyCode = 37 Then SendKeys "+{TAB}"
End Sub

' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private objTextBoxClass() As clsTextBox

Private Sub UserForm_Activate()
    Dim intIndex As Integer
    Dim objControl As Control
    For Each objControl In Controls
        If TypeOf objControl Is MSForms.TextBox Then
            intIndex = intIndex + 1
            Redim Preserve objTextBoxClass(1 To intIndex)
            Set objTextBoxClass(intIndex) = New clsTextBox
            Set objTextBoxClass(intIndex).prpSetTextBox = objControl
        End If
    Next
End Sub

Private Sub UserForm_Terminate()
    Dim intIndex As Integer
    For intIndex = LBound(objTextBoxClass) To UBound(objTextBoxClass)
        Set objTextBoxClass(intIndex) = Nothing
    Next
End Sub

Gruß
Nepumuk
Anzeige
AW: sind Pfeiltasten trotzdem möglich? - Danke :-)
30.12.2008 16:38:00
Chris
Vielen Dank Nepumuk,
das funktioniert erstmal prima !! (Witzigerweise zeigt mein Logitech Tastaturprogramm jedesmal beim Benutzen der Funktion "Num ein" auf dem Bildschirm an.. aber das ist nicht weiter schlimm :-))
Einen Guten Rutsch ins neue Jahr wünscht
Chris
AW: sind Pfeiltasten trotzdem möglich? - Danke :-)
31.12.2008 12:44:50
Ramses
Hallo
Als Anmerkung:
So genial Nepumuks Code auch ist,... das kann nicht der Sinn sein, dass sinnvole Basis-Funktionen verbogen werden, nur weil die Anwender diese nicht kennen oder nicht lernen wollen.
Die Pfeiltasten dienen zur einfachen Cursorpositionierung bzw. Bewegung in einer Textbox.
Die Tabulatortaste zum wechseln zwischen den einzelnen Objekten.
Ist der Code von Nepumuk aktiv, muss ich jedesmal die Maus nehmen wenn ich in einer Textbox einen Schreibfehler entdecke um den Cursor korrekt zu positionieren und ein Zeichen zu ändern, ... und ob das eleganter ist wage ich zu bezweifeln.
Gruss Rainer
Anzeige
AW: sind Pfeiltasten trotzdem möglich? - Danke :-)
31.12.2008 14:54:48
Chris
Hallo
Rainer, da muss ich dir sogar Recht geben... so Genial das ist mit den Pfeiltasten zu springen.. so Schade ist es nun auch nicht mehr innerhalb der Boxen "wandern" zu können... so weit hatte ich Anfangs noch gar nicht gedacht.... Nun werde ich mir überlegen müssen was Einfacher ist :(
Viele Grüsse Chris

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige