Userform Zahleneingabe
#1
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!
Top
#2
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.
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Top
#3
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
Top
#4
@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:
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#5
Ach so:
den lesenswerten Thread findet man hier:
http://www.clever-excel-forum.de/thread-14507.html
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#6
@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
Top
#7
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)
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#8
Klappt bestens (ohne Griechenland):
Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.Text = Format(TextBox1.Text, "!@@@@ @@@@ @@@@ @@@@ @@@@ @@@@ @@@@")
End Sub
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#9
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!!
Top
#10
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste