Clever-Excel-Forum

Normale Version: Userform Zahleneingabe
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

in der Userform kann man über die Textbox ein Eingabefeld generieren, soweit klar.
Ich möchte allerdings eine Eingabe hinbekommen die nur für Zahlen ist und auch immer die gleiche Anzahl an Zahlen aufweisen kann. Ich würde mir wünschen, dass das ganze aussieht wie ein Überweisungsträger.
[
Bild bitte so als Datei hochladen: Klick mich!
]
Ist so etwas in der Userform möglich?

Vielen Dank im voraus!
Moin,
Jein, das ist (nicht) möglich. Weil ...
  • Eine IBAN besteht nicht nur aus Zahlengruppen
  • Es sind nicht immer die gleichen Anzahl von Zahlen sondern von Ziffern (sorry, aber Excel lebt nun einmal von der Genauigkeit)
  • Es sind nicht nur 1 sondern mehrere Textfelder
  • Und wenn das geklärt ist, sollte das gehen.
Hallo,

teste einmal diesen Code in der UserForm:


Code:
Private Sub TextBox1_Change()
   With TextBox1
       If Len(.Value) = 4 Then .Value = .Value & " "
       'Debug.Print .Value, Len(.Value), Len(.Value) - InStrRev(.Value, " ")
       If Len(.Value) - InStrRev(.Value, " ") = 4 Then .Value = .Value & " "
   End With
End Sub

Private Sub UserForm_Activate()
   TextBox1.Value = "DE"
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
   Select Case KeyAscii
       Case 48 To 57
           TextBox1.BackColor = &H80000005
       Case Else
           TextBox1.BackColor = vbRed
   End Select
End Sub


mfg
@Fennek:
Sage das mal den Griechen!
Ich habe da letztens mal etwas mit Format(text, "!@@@@ @@@@ …") gemacht.
Aber wie gesagt: die Griechen ticken da anders, und außerdem hat Malta die längste IBAN in Europa (verständlich, bei deren Einwohnern).
:19:
Ach so:
den lesenswerten Thread findet man hier:
http://www.clever-excel-forum.de/thread-14507.html
@RPP


an die letzte Diskussion zu IBAN's konnte ich mich gut erinnern und habe auch diese Formatierung getestet. Aber in der UserForm wollte es nicht, das Ergebnis war völlig anderst als erwartet.

mfg
Dürfte auch eher ins _Exit statt ins _Change gehören.
Otherwise & statt @
(habe noch einiges zu tun, werde dies aber heute noch prüfen)
Klappt bestens (ohne Griechenland):
Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.Text = Format(TextBox1.Text, "!@@@@ @@@@ @@@@ @@@@ @@@@ @@@@ @@@@")
End Sub
Hallo zusammen und danke für die vielen Antworten.
Ich glaube das ist etwas aus dem ruder gelaufen, denke ich habe es nicht genau genug beschrieben.
Es werden KEINE IBAN's eingetragen, das ganze soll nur optisch so aussehen. Außerdem möchte ich nur Ziffern und keine Buchstaben damit eintragen.
Mein Zahlencode sieht immer so aus:
00000 - 0 - 00
Ich hatte gehofft, über die Eingabe optisch wie bei einer IBAN könne man das ganze einfach besser eingeben und leichter erkennen.

Viele Grüße!!
Wenn Du ein wenig Eigeninitiative zeigen würdest, dürftest Du feststellen, dass dieser "aus dem Ruder gelaufene" Thread (empfinde ich übrigens als dreist, dies ohne Sachkenntnis zu behaupten) durchaus Lösungsansätze bietet!
Jetzt bist aber zunächst Du gefordert.

Gruß Ralf