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

Printed on: April 19, 2024 at 20:04 o'clock

Member: colinardo
Solution colinardo Sep 02, 2013, updated at Dec 05, 2013 at 11:39:55 (UTC)
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 Sep 02, 2013 updated at 07:34:33 (UTC)
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>
Member: colinardo
Solution colinardo Sep 02, 2013, updated at Dec 05, 2013 at 11:39:50 (UTC)
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 Sep 02, 2013 at 09:17:14 (UTC)
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