106543
Goto Top

Textbox dynamisch ansprechen

Hallo Leute,

könnte mir einer sagen, was ich bei diesem Code-Snippet falsch mache bzw. wie ich es denn richtig umsetzen müsste ? face-smile
Dim sName As String
sName = Me.ActiveControl.Name

If Not IsNumeric(sName.Text) Then
    sName.Text = ""  
    Exit Sub
End If
If sName.Text < 10 Then sName.Text = "0" & sName.Text  
If sName.Text > 23 Then sName.Text = ""  
in diesem Fall ist Me.ActiveControl.Name = "TextBox_Montag_Start_ST"

Grüße
Exze

Content-Key: 215836

Url: https://administrator.de/contentid/215836

Ausgedruckt am: 28.03.2024 um 16:03 Uhr

Mitglied: colinardo
Lösung colinardo 02.09.2013, aktualisiert am 05.12.2013 um 12:39:55 Uhr
Goto Top
Hallo Exze,
sName ist kein Objekt sondern nach deinem Script ein String, deswegen kannst du in Zeile 4 nicht mit sName.Text abfragen! bzw. in Zeile 5 und weiter den Text setzen.
machs so
set sName = Me.ActiveControl

If Not IsNumeric(sName.Text) Then
    sName.Text = ""  
    Exit Sub
End If
If sName.Text < 10 Then sName.Text = "0" & sName.Text  
If sName.Text > 23 Then sName.Text = ""  
Grüße Uwe
Mitglied: 106543
106543 02.09.2013 aktualisiert um 09:34:33 Uhr
Goto Top
Hi Uwe,

wunderbar dank dir ;)
hätte ich auch selbst drauf kommen können ...

Jetzt ist allerding ein neues Problem aufgetaucht :D
könntest du mal drüberschauen ?
Der Code liegt hinter einem Button, der die Userform clearen soll face-smile
Dim objControl As Control

For Each objControl In Controls
   Select Case TypeName(objControl)
      Case "TextBox"  
         objControl.Text = ""  
      Case "ComboBox"  
         objControl.ListIndex = -1
      Case "CheckBox"  
         objControl.Value = False
      Case "OptionButton"  
         objControl.Value = False
   End Select
Next
bringt die Meldung "Laufzeitfehler '424': Objekt erforderlich"
Danke schonmal face-smile

Grüße
Exze

<EDIT>
ok Problem gelöst ;)
der Code war nicht direkt hinter dem Button gelegen, sondern in einem seperaten Modul, klar dass sich dann das Objekt auf nichts bezieht.
</EDIT>
Mitglied: colinardo
Lösung colinardo 02.09.2013, aktualisiert am 05.12.2013 um 12:39:50 Uhr
Goto Top
Der Code ist eigentlich so OK, was stören könnte wäre das Controls in Zeile3, ändere das mal in Me.Controls.
Setz mal einen Breakpoint und bewege dich dann Schritt für Schritt mit F8 durch den Code, bis die Fehlermeldung kommt. Dann weist du in welcher Zeile eventuell der Fehler liegt.
Grüße Uwe
Mitglied: 76109
76109 02.09.2013 um 11:17:14 Uhr
Goto Top
Hallo Exce!

Wobei im ersten Code z.B. die Werte "0", "0.x" oder "0,x" oder "-1" auch als Numeric-Werte durchgehen...

Gruß Dieter