Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Nur AJM in TextBox akzeptieren und Anzahl zählen

Gruppe

TextBox

Problem

Wie kann ich erreichen, daß eine TextBox in einer UserForm nur die Zeichen A, J und M akzeptiert und die Anzahl dieser Zeichen als Label anzeigt?

Lösung
Geben Sie den nachfolgenden Code in das Klassenmodul der UserForm ein.

ClassModule: frmEingabe

Private Sub cmdContinue_Click()
   Unload Me
End Sub

Private Sub txtEingabe_Change()
   Dim arr(1 To 3) As Integer
   Dim iCounter As Integer
   Dim sTxt As String
   sTxt = txtEingabe.Text
   If sTxt = "" Then Exit Sub
   If Not Right(sTxt, 1) Like "A" And _
      Not Right(sTxt, 1) Like "J" And _
      Not Right(sTxt, 1) Like "M" Then
      sTxt = Left(sTxt, Len(sTxt) - 1)
      txtEingabe.Text = sTxt
   End If
   For iCounter = 1 To Len(sTxt)
      Select Case Mid(sTxt, iCounter, 1)
         Case "A": arr(1) = arr(1) + 1
         Case "J": arr(2) = arr(2) + 1
         Case "M": arr(3) = arr(3) + 1
      End Select
   Next iCounter
   For iCounter = 1 To 3
      Controls("Label" & iCounter).Caption = _
         "Anzahl Zeichen " & iCounter & ": " & arr(iCounter)
   Next iCounter
End Sub

StandardModule: basMain

Sub CallForm()
   frmEingabe.Show
End Sub