Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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?
Antworten 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
Antworten 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
Antworten 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?
Antworten Top
#5
Replace(TextBox1.Value, ",", ".")
Gruß
Michael
[-] Folgende(r) 1 Nutzer sagt Danke an Der Steuerfuzzi für diesen Beitrag:
  • StrammerMax
Antworten Top
#6
Vielen Dank - aber wohin damit?
In der Change Methode funktioniert es nicht.
Antworten 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
Antworten Top
#8
Bist ein Schatz :)
Antworten Top


Gehe zu:


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