Frage : Wie man Benutzer auf Schlüssel-in Punkt/Dezimalkomma nur einmal in einer Userform area per informazioni einschränkt?

Hallo jeder,

, das ich versuche, meinen eigenen numerischen Textkasten in VBA herzustellen, da es keine gibt (oder gibt es?). Ich arbeite z.Z. an meinen Gültigkeitserklärungen und das Problem ist: Ich wünsche den Benutzer den Punkt/das Dezimalkomma nicht eintragen (.) mehrmals in der Userform area per informazioni.

ab jetzt, übergebe ich das KeyPress Ereignis der area per informazioni, muss durch jeden Buchstaben der Schnur schlingen, dann finde, dann den Punkt/das Dezimalkomma durch einen freien Raum zu ersetzen ("" darstellt freien Raum, sind ich berichtigen?). Ich verstehe nicht, warum mein Programm nicht das späteste befestigen-im Punkt entfernt. Kann jemand mir heraus helfen? Oder gibt es eine viel bessere Weise, dies zu tun? Dank im Voraus.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Dim ctrLast als ganze Zahl
        Schwaches tempSal als Schnur

        tempSal = Me.txt EmpSal.Value

        'Schleife, die vom Ende der Schnur abfährt; den spätesten Punkt-/decimal-Punkt ersetzen, der innen vom Benutzer durch freien Raum befestigt
        Für das ctrLast = Len (tempSal) zu 1 Schritt -1
            Wenn mittler (tempSal, ctrLast, 1) = „.“ Dann
                tempSal = ersetzen (tempSal, mittler (tempSal, ctrLast, 1), "", ctrLast, 1)
                Für herausnehmen
            Beenden wenn
        Folgendes ctrLast

        Me.txt EmpSal.Value = tempSal

Antwort : Wie man Benutzer auf Schlüssel-in Punkt/Dezimalkomma nur einmal in einer Userform area per informazioni einschränkt?

Ist hier irgendein Code:

Privates Unterseeboot TextBox1_KeyPress (ByVal KeyAscii als MSForms.ReturnInteger)
Fall KeyAscii vorwählen
   Asc („0“) zu Asc („9“) umkleiden
    Asc umkleiden („-“)
       Wenn Instr (1, Me.TextBox1.Text, „-“) > 0 oder Me.TextBox1.SelStart > 0 dann
           KeyAscii = 0
       Beenden wenn
   Asc umkleiden („.")
       Wenn InStr (1, Me.TextBox1.Text, „.") > 0 dann
           KeyAscii = 0
       Beenden wenn
   Sonst umkleiden
       KeyAscii = 0
Ende auserwählt
Enden-Unterseeboot

von hier: http://www.cpearson.com/excel/TextBox.htm

Weitere Lösungen  
 
programming4us programming4us