Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
08.11.2011 23:36:58 |
Gast58999 |
|
|
|
09.11.2011 00:32:34 |
Till |
|
|
|
09.11.2011 14:33:31 |
Radiokopf |
|
|
|
09.11.2011 14:34:43 |
Radiokopf |
|
|
|
09.11.2011 14:55:35 |
Till |
|
|
Dezimalzahlen in Textbox einlesen |
09.11.2011 15:01:20 |
Till |
|
|
|
09.11.2011 15:41:04 |
Gast92091 |
|
|
Von:
Till |
Datum:
09.11.2011 15:01:20 |
Views:
1319 |
Rating:
|
Antwort:
|
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
|
- 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
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- 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 |
|
|
|
09.11.2011 00:32:34 |
Till |
|
|
|
09.11.2011 14:33:31 |
Radiokopf |
|
|
|
09.11.2011 14:34:43 |
Radiokopf |
|
|
|
09.11.2011 14:55:35 |
Till |
|
|
Dezimalzahlen in Textbox einlesen |
09.11.2011 15:01:20 |
Till |
|
|
|
09.11.2011 15:41:04 |
Gast92091 |
|
|