Registriert seit: 24.02.2017
Version(en): 365; (2013)
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?
Registriert seit: 02.05.2018
Version(en): Excel 365 & 2016
Code:
Private Sub TextBox1_Change()
If TextBox1 <> "" Then Range("C1").Value = (TextBox1.Value / 100)
End Sub
Schöne Grüße
Berni
Registriert seit: 11.03.2015
Version(en): mittlerweile meistens 2019
24.01.2019, 11:27
(Dieser Beitrag wurde zuletzt bearbeitet: 24.01.2019, 11:27 von Der Steuerfuzzi.)
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
Registriert seit: 24.02.2017
Version(en): 365; (2013)
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?
Registriert seit: 11.03.2015
Version(en): mittlerweile meistens 2019
Replace(TextBox1.Value, ",", ".")
Gruß
Michael
Registriert seit: 24.02.2017
Version(en): 365; (2013)
Vielen Dank - aber wohin damit?
In der Change Methode funktioniert es nicht.
Registriert seit: 11.03.2015
Version(en): mittlerweile meistens 2019
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
Registriert seit: 24.02.2017
Version(en): 365; (2013)