Ich habe ein Problem mit einer Berechnung, die durch eine Werte-Eingabe in einer TextBox gestartet wird. In der Userform übergebe ich Temperaturen an meine Exceltabelle entweder in °C oder K (Auswahl über Kombobox). Meine Exceltabelle soll dann in das jeweils andere "Format" umrechnen. Soweit so gut.
Die Eingabe der Werte erfolgt mit diesen beiden Codes:
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 45 ' Ascii-Code für Zahlen von 0-9 und -
Case Else
KeyAscii = 0
End Select
End Sub
und
Private Sub TextBox1_Change()
ThisWorkbook.Worksheets("Eingangsparameter").Range("B7").Value = TextBox1.Value
If Me.ComboBox1.Value = "°C" Then
ThisWorkbook.Worksheets("Eingangsparameter").Range("A12").Value = "Umgebungstemperatur [ _
_
_
_
K]"
ThisWorkbook.Worksheets("Eingangsparameter").Range("B12").Value = (ThisWorkbook. _
Worksheets("Eingangsparameter").Range("B7").Value) + 273.15
Else
ThisWorkbook.Worksheets("Eingangsparameter").Range("A12").Value = "Umgebungstemperatur [ _
_
_
_
°C]"
ThisWorkbook.Worksheets("Eingangsparameter").Range("B12").Value = ThisWorkbook. _
Worksheets("Eingangsparameter").Range("B7").Value - 273.15
End If
End Sub
Gebe ich nun negative Werte ein, so bekomme ich einen Fehler von VBA angezeigt: "Typen unverträ _
glich". Der Debugger markiert mir folgende Zeile:
ThisWorkbook.Worksheets("Eingangsparameter").Range("B12").Value = (ThisWorkbook.Worksheets("Eingangsparameter").Range("B7").Value) + 273.15
Worin genau besteht der Fehler? Kann ich so nicht einfach meinen Wert berechnen, wenn ich negative Temperaturen eingebe?
Desweiteren habe ich ja mit dem ersten Code nur die Möglichkeit Integer-Werte einzugeben. Ich hätte an der Stelle aber auch gerne Dezimalzahlen. Wie kann das umgesetzt werden?
Vielen Dank für eure Hilfe!