Guten Abend,
Gleich vorne weg: Ich kenn mich nicht zu gut mit VBA aus. In der Schule mal Java gehabt und im ersten Semester C(++) . Leider muß ich eine Semesterarbeit mit VBA und Exel 2003 machen.
Was das ganze (erstmal) machen soll: Eine Exel Zelle (Dezimalzahl!) auf Knopfdruck in eine Textbox einlesen. Alternativ soll der Wert eingegeben werden können bzw. mit SpinButton von der letzten stelle an verstellt werden können.
Das Problem liegt wahrscheinlich darin das ich keine ahnung hab mit welcher art Variable ich eigentlich rumspiel ?!?
Das alles befindet sich in meiner Userform:
Das Code eingeben scheint nicht zu gehen... Erstmal die Textbox.
' Volume
Private Sub TextBox1_Change()
TextBox1.Value = Format("0" & TextBox1.Value, "#,###0.000") ' Hier hab ich mal , mal . und alles andere versucht
Range("C100") = TextBox1.Value * 1
If (Not IsNumeric(TextBox1.Value)) Then
TextBox1.Value = 0
End If
SpinButton1.Value = Range("C100")
End Sub
Jetzt der SpinButton:
'Volume
Private Sub SpinButton1_Change()
Range("C100") = SpinButton1.Value * 1
TextBox1.Value = Range("C100")
End Sub
(Den umweg hab ich wegen den Dezimalstellen genommen... damit ich die letzte verstellen kann)
Jetzt der CommandButton:
Private Sub CommandButton1_Click()
TextBox1.Value = CDbl(Range("B3").Value) 'Volume
TextBox2.Value = Range("B13").Value 'Volumeflow
TextBox3.Value = Range("B5").Value 'Initial concentraition
TextBox4.Value = Range("B15").Value 'Delta t
TextBox5.Value = CDbl(Range("B11").Value) 'Raktion Konstant
End Sub
Mal mit .Value mal mit CDbl()
Zum guten Ende:
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57 'Zahlen - zugelassen
Case 44, 46 'Komma und Punkt
KeyAscii = 44 'automatisch in Komma umwandeln
If InStr(1, TextBox2.Text, ",") Then KeyAscii = 0 'wenn schon ein Komma drin ist!
Case Else: KeyAscii = 0 'alle anderen nicht erlaubt
End Select
End Sub
Die Probleme sind: Wenn ich 0,1 einlese zeigt er mit , in der Formatierung 1 an. Mit Punkt als 1,000.
0,050 wird zu 0,005 oder mit punkt 5,0000.000 an.
(Ja die 4! stellen zwischen , und . sind kein schreibfehler)
Ich hab schon ne Menge ausprobiert aber hab einfach keine ahnung :(
Danke fürs lesen & helfen.
|