Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Mit der TabTaste in Tabellenblatt-TextBoxes springen

Gruppe

TextBox

Problem

Mit der TabTaste soll in Tabelle1 von TextBox zu TextBox gesprungen werden. Die TextBoxes sind in einer eigenen Klasse zusammengefaßt.

Lösung
Geben Sie den Ereigniscode in die nachfolgend genannten Module ein.

ClassModule: Tabelle1

Dim txtBoxes(1 To 26) As New Klasse1

Private Sub Worksheet_Activate()
   Dim ctr As OLEObject
   Dim iCounter As Integer
   For Each ctr In Me.OLEObjects
      If TypeName(ctr.Object) = "TextBox" Then
         iCounter = iCounter + 1
         Set txtBoxes(iCounter).TxtGroup = ctr.Object
      End If
   Next ctr
End Sub
ClassModule: Klasse1

Public WithEvents TxtGroup As MSForms.TextBox

Private Sub TxtGroup_KeyDown(ByVal KeyCode As _
   MSForms.ReturnInteger, ByVal Shift As Integer)
   If KeyCode = vbKeyTab Then
      If TxtGroup.Index < 26 Then
         Tabelle1.OLEObjects(TxtGroup.Index + 1).Activate
      Else
         Tabelle1.OLEObjects(1).Activate
      End If
   End If
End Sub