Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1628to1632
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Userform - Berechnung mit übergebenen Zahlen

Userform - Berechnung mit übergebenen Zahlen
15.06.2018 12:41:42
Croe
Hallo Zusammen,
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!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform - Berechnung mit übergebenen Zahlen
15.06.2018 13:04:17
fcs
Hallo Croe,
das Minuszeichen alleine ist noch keine Zahl sondern Text. Die Addition von Text und Zahl liefert in Excel einen Fehler.
Früfe in der Prozedur, ob der Eingabewert eine Zahl ist.
Private Sub TextBox1_Change()
If Not IsNumeric(Textbox1.Value) Then Exit Sub
ThisWorkbook.Worksheets("Eingangsparameter").Range("B7").Value = CDbl(Textbox1.Value)

Um das Komma eingeben zu können must du in Prozedur "TextBox2_KeyPress" in der Case-Zeile die ASCII-Nr. für das Komma ergänzen.
        Case 48 To 57, 45, 44 ' Ascii-Code für Zahlen von 0-9 und - ,
Gruß
Franz
Anzeige
AW: Userform - Berechnung mit übergebenen Zahlen
15.06.2018 13:12:27
Croe
Hallo Franz!
Danke, das hat wunderbar geklappt! :)
Gruß,
Croe

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige