Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
996to1000
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
Zahlenformat global überprüfen
31.07.2008 18:45:00
Andy
Hallo zusammen,
ich bin gerade dabei eine UserForm zu basteln, die ca. 78 TextBoxen hat; diese wird Beträgen ausgefüllt.
Ich habe einen Code, der eine einzelne Box überprüfen kann:

Private Sub TextBox8_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
' Ansatz VB 6 Buch von Peter Monadjemi
' nur Zahlen, ein Komma und nur 2 Stellen nach Komma
Select Case KeyAscii
Case Asc("0") To Asc("9")
If InStr(TextBox8, ",")  0 Then
If Len(TextBox8) - InStr(TextBox8, ",") > 1 Then KeyAscii = 0
End If
Case Asc("."), Asc(",")
If InStr(TextBox8, ",")  0 Then
KeyAscii = 0
Else
KeyAscii = Asc(",")
End If
Case Asc(vbBack)
'       Eingabe von minus
Case Asc("-")
'            If Len(Textbox8) = 0 Then
'                If InStr(Textbox8, "-")  0 Then
'                Else
'                    KeyAscii = Asc("-")
'                End If
'            Else
'                KeyAscii = 0
'            End If
Case Else
KeyAscii = 0
End Select
End Sub


Jetzt zu meiner Frage:
Kann mir jemand helfen, einen Code zu schreiben, den ich global einsetzen kann und den ich nicht jeder TextBox zuordnen muß? -
quasi eine Sub, die ich dann nur bei der Aktualisierung der jeweiligen TextBox abfrage?
Ich hoffe Ihr versteht mich...
LG
Andy

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlenformat global überprüfen
31.07.2008 20:14:00
Gerd
Hallo Andy!
' **************************************************************
' Modul: UserForm1 Typ = Userform
' **************************************************************
Option Explicit
Dim ufTBKlasse(1 To 3) As clsTextBox

Private Sub UserForm_Initialize()
Dim i As Integer
For i = 1 To 3
Set ufTBKlasse(i) = New clsTextBox
Set ufTBKlasse(i).TB = Me.Controls("TextBox" & i)
Next
End Sub



Private Sub UserForm_Terminate()
Dim i As Integer
For i = 1 To 3
Set ufTBKlasse(i).TB = Nothing
Set ufTBKlasse(i) = Nothing
Next
End Sub


' **************************************************************
' Modul: clsTextBox Typ = Klassenmodul
' **************************************************************
Option Explicit
Public WithEvents TB As MSForms.TextBox


Private Sub TB_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
' Ansatz VB 6 Buch von Peter Monadjemi
' nur Zahlen, ein Komma und nur 2 Stellen nach Komma
Select Case KeyAscii
Case Asc("0") To Asc("9")
If InStr(TB, ",")  0 Then
If Len(TB) - InStr(TB, ",") > 1 Then KeyAscii = 0
End If
Case Asc("."), Asc(",")
If InStr(TB, ",")  0 Then
KeyAscii = 0
Else
KeyAscii = Asc(",")
End If
Case Asc(vbBack)
'       Eingabe von minus
Case Asc("-")
'            If Len(Textbox8) = 0 Then
'                If InStr(Textbox8, "-")  0 Then
'                Else
'                    KeyAscii = Asc("-")
'                End If
'            Else
'                KeyAscii = 0
'            End If
Case Else
KeyAscii = 0
End Select
End Sub


Gruß Gerd

Anzeige
AW: Zahlenformat global überprüfen
31.07.2008 21:25:40
Andy
Hallo Hajo,
ich denke, das "zuviel vorgenommen" bezieht sich auf die 78 Stk. ;-))))
nein nein...
eigentlich habe ich es so gemeint...
ich habe mehrere TextBox`n die immer im (Zahlen-)Format #0,00 ausgefüllt werden sollen.
Den angegebenen Code kann ich zwar bei allen einzeln aufführen, aber das ist eine ....eiß arbeit ;-)
Ich habe einen Code für die Datumsüberprüfung, und sowas suche ich auch für das Zahlenformat.
Hier mal die Datumsüberprüfung...

Sub Datumsformat_prüfen(feld As Object)
If Not IsNumeric(feld.Value) Then feld.Value = 0
If feld = "" Then feld.Value = 0
If feld = " " Then feld.Value = 0
If BoEnter = True Then Exit Sub
If Len(feld) = 2 Then
If InStr(feld, ".") = 0 And BoEnter = False Then feld = feld & "."
Else
If Len(feld) = 5 Then
If Len(feld) - Len(Application.Substitute(feld, ".", "")) 


... und somit spare ich mir bei jeder TextBox die Eingabe des gesamten Codes;
ich hoffe ich kann mich in meiner "unprofessionellen" Ausdrucksweise verständlich machen...
Wäre super, wenn Du/Ihr mir einen solchen Code zukommen lassen könntet.
LG
Andy

Anzeige
AW: Zahlenformat global überprüfen
01.08.2008 05:56:42
Hajo_Zi
Hallo Andy,
die Anzahl ist egal. Es Bezog sich auf den Level. Siehe Dir mein Beispiel an.
Gruß Hajo

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige