ich hatte letztes Jahr im September ein Problem mit der Formatierung einer TextBox und da hat mir der User Oberschlumpf ganz toll geholfen (https://www.herber.de/forum/archiv/1644to1648/t1647116.htm) mit folgendem Code:
Private Sub TextBox1_Change()
If pboUndo = True Then
pboUndo = False
Exit Sub
End If
With TextBox1
Select Case Len(.Text)
Case 1
If Asc(.Text) >= 65 And _
Asc(.Text) "B" And _
.Text "C" And _
.Text "Z" Then
pboUndo = True
.Text = pstrTxt
Exit Sub
End If
Else
pboUndo = True
.Text = pstrTxt
Exit Sub
End If
Case 2, 3
If Not IsNumeric(Right(.Text, 1)) Then
pboUndo = True
.Text = pstrTxt
Exit Sub
End If
If Len(.Text) = 3 Then
pboUndo = True
.Text = .Text & "."
End If
Case 5, 6, 7
If Not IsNumeric(Right(.Text, 1)) Then
pboUndo = True
.Text = pstrTxt
Exit Sub
End If
If Len(.Text) = 7 Then
pboUndo = True
.Text = .Text & "."
End If
Case 9, 10
If Not IsNumeric(Right(.Text, 1)) Then
pboUndo = True
.Text = pstrTxt
Exit Sub
End If
Case 11
pboUndo = True
.Text = pstrTxt
Exit Sub
End Select
pstrTxt = .Text
End With
End Sub
Der Code funktioniert auch und tut genau das was er soll.
Nun zu meinem Problem:
Ich habe eine Userform mit einer Multipage mit 2 Reitern und jeder dieser Reiter hat eine weitere Multipage mit 2 Reitern. Jeder Reiter hat einen Schließen Button, der die Userform schließen und bestimmte Zellen per Blattschutz schützen soll. Der User kann nach dem Schließen nur noch die Tabelle filtern.
Wenn ich die Datei starte, startet automatisch die Userform, aber wenn ich nun über das X oder einen der Schließen Button die Userform schließe kommt immer die Meldung "Laufzeitfehler 424, Objekt erforderlich".
Wenn ich allerdings die Userform erneut starte funktionieren die Button und das X so wie es angedacht ist.
Jetzt wollte ich den gesamten Code debuggen und er hält immer bei dem oben geposteten Code an und sagt pboUndo Variable nicht definiert.
Ich verstehe den Code von Oberschlumpf auch leider nicht und weiß gar nicht was dieses pboUndo ist und macht :(
Ich hoffe hier kann mir jemand helfen.
Vielen Dank schon mal im Vorraus.
Gruß Oliver