Thema Datum  Von Nutzer Rating
Antwort
Rot Dezimalzahlen in Textbox einlesen
08.11.2011 23:36:58 Gast58999
NotSolved
09.11.2011 00:32:34 Till
NotSolved
09.11.2011 14:33:31 Radiokopf
NotSolved
09.11.2011 14:34:43 Radiokopf
NotSolved
09.11.2011 14:55:35 Till
NotSolved
09.11.2011 15:01:20 Till
NotSolved
09.11.2011 15:41:04 Gast92091
NotSolved

Ansicht des Beitrags:
Von:
Gast58999
Datum:
08.11.2011 23:36:58
Views:
2957
Rating: Antwort:
  Ja
Thema:
Dezimalzahlen in Textbox einlesen

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.

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Dezimalzahlen in Textbox einlesen
08.11.2011 23:36:58 Gast58999
NotSolved
09.11.2011 00:32:34 Till
NotSolved
09.11.2011 14:33:31 Radiokopf
NotSolved
09.11.2011 14:34:43 Radiokopf
NotSolved
09.11.2011 14:55:35 Till
NotSolved
09.11.2011 15:01:20 Till
NotSolved
09.11.2011 15:41:04 Gast92091
NotSolved