Thema Datum  Von Nutzer Rating
Antwort
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
Blau Dezimalzahlen in Textbox einlesen
09.11.2011 15:01:20 Till
NotSolved
09.11.2011 15:41:04 Gast92091
NotSolved

Ansicht des Beitrags:
Von:
Till
Datum:
09.11.2011 15:01:20
Views:
1319
Rating: Antwort:
  Ja
Thema:
Dezimalzahlen in Textbox einlesen

Hier noch eine kleine Modifizierung damit die Eingabe nicht durch den Spinbutton behindert wird:

Option Explicit
Dim spinning As Boolean, Min#, Max#, Schrittweite#
Dim changedByTextbox As Boolean
'#=double

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox1 = Format(TextBox1, "0.000")
End Sub

Private Sub UserForm_Initialize()
    Schrittweite = 1000
    Min = 0
    Max = 10
    With SpinButton1
        .Min = Min * Schrittweite 'minimum
        .Max = Max * Schrittweite 'maximum...
    End With
End Sub

' Volume
    Private Sub TextBox1_Change()
    Dim Val 'variant
        
        Val = TextBox1.Value
        If Not IsNumeric(Val) Or Val < Min Or Val > Max Then
           If Not Val = "" And Not TextBox1 = 0 Then TextBox1 = 0
           Exit Sub
        End If
        
        Range("C10") = CDbl(Val)
        If Not spinning Then
            changedByTextbox = True
            SpinButton1 = Val * Schrittweite
            changedByTextbox = False
        End If
        
    End Sub

'Volume
    Private Sub SpinButton1_Change()
        If Not changedByTextbox Then
            Dim Val# 'double
            Val = SpinButton1.Value / Schrittweite 'schrittweite tausendstel
            spinning = True
            TextBox1 = Format(Val, "0.000")
            spinning = False
            Range("C10") = Val
        End If
    End Sub

Private Sub CommandButton1_Click()
    TextBox1.Value = Format(Range("B3").Value, "0.000") 'Volume
    TextBox2.Value = Range("B13").Value 'Volumeflow
    TextBox3.Value = Range("B5").Value  'Initial concentraition
    TextBox4.Value = Range("B15").Value  'Delta t
    TextBox5.Value = Range("B11").Value  'Raktion Konstant
End Sub

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

 


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
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
Blau Dezimalzahlen in Textbox einlesen
09.11.2011 15:01:20 Till
NotSolved
09.11.2011 15:41:04 Gast92091
NotSolved