Aktuell kann es Probleme bei der Anmeldung mit dem Chrome oder Edge Browser geben. Ihr müsstet in die Einstellungen des Browsers gehen und Cache, Cookies und sofern vorhanden, gespeicherte Passwörter vom CEF löschen oder alternativ auf einen anderen Browser ausweichen. Ursache sind vermutlich kürzliche Browserupdates. x

UF Reset nach Textbox zu Zahl nicht möglich
#1
HI,

nachdem die Umwandlung von Tesxtfeldern in Zahlen für die Ausgabe auf dem Tabellenblatt klappt  mit "*1"


Code:
Worksheets("Team A").Range("g4").Value = Me.TextBox3 * 1

kann ich leider meinen Reset-button auf der UF nicht mehr nutzen. Ich bekomme hier den LZF 13: Typen unverträglich.
Code vom Resetbutton:
Code:
Private Sub CommandButton10_Click()

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

End Sub

Da muss doch bestimmt noch etwas spezielles dazu, oder?

Danke
Top
#2
Ohne Mappe sehr schwer zu erraten...

Vielleicht
Code:
 For Each objControl In Controls
    Select Case TypeName(objControl)
       Case "TextBox"
          UserForm1.objControl.Text = ""


Heißer Tipp für VBA-Anfänger: Einzelschrittmodus mit F8, dann siehst du genau in welcher Zeile bzw. bei welchem Control es hapert.
Schöne Grüße
Berni
Top
#3
Moin!
Zitat:Ich bekomme hier den LZF 13: Typen unverträglich.

In welcher Zeile?
Ich sehe auf Anhieb keinen Anlass für den LZF.

Beispieldatei mit dem Userform?

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#4
Hier mal eine kleine Testmappe:


Angehängte Dateien
.xlsm   Mappe1.xlsm (Größe: 16,17 KB / Downloads: 3)
Top
#5
Und genau deshalb soll man im Einzelschrittmodus durchgehen, dann wäre dir der Fehler aufgefallen. Der Fehler liegt nämlich in den TextBox_Change()-Ereignissen. Jedes mal, wenn du die Textboxen löschst, löst du damit diese Ereignisse aus. Und nachdem du einen Leerstring in den gelöschten Textboxen hast, kann Excel den Befehl nicht ausführen. Denn ein Leerstring kann nicht mit 1 multipliziert werden. Löse es zB so
Code:
Private Sub TextBox1_Change()
If Me.TextBox1 <> "" Then Worksheets("S1").Range("a1").Value = Me.TextBox1
End Sub
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • Silvr
Top
#6
Ergänzend zu Berni:
Warum nimmst Du überhaupt das _Change??
Nimm das _Exit und Du hast keine Probleme.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#7
Hallo Berni,

Dein Beispiel geht aber auch ohne Abfrage auf Leer. Blush

Gruß Uwe
Top
#8
Hi Uwe!

Äh... wie meinen? Bei mir hat es im Test wunderbar geklappt, worauf willst du hinaus?
Schöne Grüße
Berni
Top
#9
Uwe meinte, dass Worksheets("S1").Range("a1").Value = Me.TextBox1 reicht.
(da hier ja die Multiplikation fehlt und es somit nicht zum LZF kommen kann)
Wink

@Silvr:
Ich meinte das so (im _Exit-Event!):
If IsNumeric(TextBox1) Then Worksheets("S1").Range("A1") = CInt(TextBox1)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#10
Danke

Hab es jetzt so gelöst:
Code:
Private Sub TextBox13_Change()
If Me.TextBox13 <> "" Then Worksheets("DI").Range("d4").Value = Me.TextBox13 * 1
End Sub
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste