Typ unverträglich
#1
Hey Leute,

ich habe hier eine TextBox und versuche den Wert aus der TextBox in eine Zelle zu schreiben, die mit Prozent formatiert ist.

Private Sub TextBox1_change()
Range("C1").Value = (TextBox1.Value / 100)
End Sub

Das Eintragen funktioniert einwandfrei - aber sobald ich den Wert lösche bekomme ich einen "Datentyp unverträglich Laufzeitfehler 13"

Wie kann ich das Umgehen?
Top
#2
Code:
Private Sub TextBox1_Change()
If TextBox1 <> "" Then Range("C1").Value = (TextBox1.Value / 100)
End Sub
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • StrammerMax
Top
#3
Hallo,

ein Leerstring kann nicht durch 100 geteilt werden.
Versuch es mil Val:
Code:
Range("C1").Value = (Val(TextBox1.Value) / 100)

Eventuell musst Du noch Kommas gegen Punkte austauschen, wenn Du Kommazahlen in der Textbox verwenden willst (bin mir da jetzt auf Anhieb nicht ganz sicher).
Gruß
Michael
[-] Folgende(r) 1 Nutzer sagt Danke an Der Steuerfuzzi für diesen Beitrag:
  • StrammerMax
Top
#4
Die Alternative von Steuerfuzzi funktioniert (gefällt mir besser, da cleaner und weniger Code)
Allerdings muss man tatsächlich das Komma durch einen Punkt ersetzen.
Wie mache ich das?
Top
#5
Replace(TextBox1.Value, ",", ".")
Gruß
Michael
[-] Folgende(r) 1 Nutzer sagt Danke an Der Steuerfuzzi für diesen Beitrag:
  • StrammerMax
Top
#6
Vielen Dank - aber wohin damit?
In der Change Methode funktioniert es nicht.
Top
#7
Ich hatte eigentlich gedacht, dass Du selbst weißt, wie Du es ergänzt, da es eigentlich logisch ist. So:
Code:
Range("C1").Value = (Val(Replace(TextBox1.Value, ",", ".")) / 100)
Gruß
Michael
[-] Folgende(r) 1 Nutzer sagt Danke an Der Steuerfuzzi für diesen Beitrag:
  • StrammerMax
Top
#8
Bist ein Schatz :)
Top


Gehe zu:


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