Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
704to708
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
704to708
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Prozenteingabe in Textfeld

Prozenteingabe in Textfeld
04.12.2005 10:03:22
gert
Hallo Excel-User,
Ich habe ein Textfeld.
Dort soll eingegeben werden 0,9.
Ergebnis = 90,00%
Folgende Programmierung liegt dem Feld zugrunde:

Private Sub textbox172_AfterUpdate()
Dim datenlager As String
'Komma und Tausenderpunkte setzen. Prüfen obe Feld leer
Select Case Len(TextBox172.Value)
Case 0
TextBox172 = 0
End Select
datenlager = Format(TextBox172.Value, "##,##0.00 %")
TextBox172.Value = datenlager
End Sub

Was ist falsch.
Viele Grüsse
Gert

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prozenteingabe in Textfeld
04.12.2005 10:56:16
Ramses
Hallo
verwende statt des "AfterUpdate"-Ereignisses, das "Exit"-Ereignis
Private Sub TextBox172_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    On Error Resume Next
    If Not IsNumeric(CDbl(Me.TextBox172)) Then
        If Me.TextBox172 = "" Then Exit Sub
        MsgBox "Unzulässige Eingabe"
        Me.TextBox172 = ""
        Cancel = True
        Exit Sub
    End If
    On Error GoTo 0
    'Komma und Tausenderpunkte setzen. Prüfen obe Feld leer
    Select Case CDbl(Me.TextBox172.Value)
        Case Is <= 0.1
            Me.TextBox172.Text = CDbl(Me.TextBox172) * 100 & " %"
        Case Is <= 1
            Me.TextBox172.Text = CDbl(Me.TextBox172) * 10 & " %"
        Case Is >= 10
            MsgBox "Unzulässiger Prozentwert"
            Me.TextBox172 = ""
    End Select
End Sub

Gruss Rainer
Anzeige
AW: Prozenteingabe in Textfeld
04.12.2005 11:12:03
gert
Hallo Rainer,
Aufgrund Deines Vorschlages gebe ich im Textfeld 0,9 ein.
Das Textfeld gibt mir 9% zurück. Richtig wäre 0,9%
Übrigens in die Tabelle schreibe ich mit:
Range("d31") = TextBox172
zurück.
Dort sollte 0,09 stehen.
Kannst Du mir nochmals helfen.
Viele Grüsse
Gert
AW: Prozenteingabe in Textfeld
04.12.2005 11:14:39
Hajo_Zi
Hallo Gert,
0,9 entspricht 90%
0,09 entspricht 9%
Was Nun?


AW: Prozenteingabe in Textfeld
04.12.2005 11:27:40
gert
Hallo Hajo,
Das Thema Eingabefeld habe ich gelöst.
Im Sheet steht jedoch ein falscher Wert.
Folgende Befehlskette habe ich verwendet:

Private Sub TextBox172_Exit(ByVal Cancel As MSForms.ReturnBoolean)
On Error Resume Next
If Not IsNumeric(CDbl(Me.TextBox172)) Then
If Me.TextBox172 = "" Then Exit Sub
MsgBox "Unzulässige Eingabe"
Me.TextBox172 = ""
Cancel = True
Exit Sub
End If
On Error GoTo 0
'Komma und Tausenderpunkte setzen. Prüfen obe Feld leer
Select Case CDbl(Me.TextBox172.Value)
Case Is <= 0.1
Me.TextBox172.Text = Format(CDbl(Me.TextBox172) * 10, "##,##0.00") & " %"
Case Is <= 1
Me.TextBox172.Text = Format(CDbl(Me.TextBox172) * 1, "##,##0.00") & " %"
Case Is <= 10
Me.TextBox172.Text = Format(CDbl(Me.TextBox172), "##,##0.00") & " %"
Case Is >= 100
MsgBox "Unzulässiger Prozentwert"
Me.TextBox172 = ""
End Select
Range("d31") = TextBox172
TextBox172.BackColor = &H80000005
End Sub

Im Feld D31 steht als Textfeld 0,90%. Hier soll jedoch eine Zahl 0,009 stehen.
Wie muß die Textbox172 in die Tabelle zurückgeschrieben werden?
Viele Grüsse
Gert
Anzeige
AW: Prozenteingabe in Textfeld
04.12.2005 11:33:51
Ramses
Hallo
Anstelle von
Range("d31") = TextBox172
verwendest du
Range("D31") = (Left(Me.TextBox172.Value, Len(Me.TextBox172.Value) - 2) * 1) / 100
Gruss Rainer
AW: Prozenteingabe in Textfeld
04.12.2005 11:36:38
gert
Hallo Ramses,
super. es hat alles geklappt.
noch ein schönes Wochenende
Gruss
Gert

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige