Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: nur Zahlen in mehreren TextBoxen

nur Zahlen in mehreren TextBoxen
Frank
Hallo Forummitglieder,
ich habe eine kurze Frage. und zwar kann man ja nur Zahlen in einer Textbox zulassen. Wenn ich nun auf einer UserForm oder sagen wir mehreren UserFormen 20 oder mehr Textboxen habe, bei denen alle nur Zahlen zugelassen sind, ob man den untenstehenden Code irgendwie verallgeimeinern kann und nicht für jede TextBox einzeln machen muss- geht das?
Private Sub TextBox1_Change()
If Not IsNumeric(TextBox1.Text) And TextBox1.Text  "" Then
MsgBox "Bitte geben Sie ein Zahl ein!"
TextBox1.Text = 1
End If
End Sub
Vielen Dank und viele Grüße,
Frank
Anzeige

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

Betreff
Benutzer
Anzeige
AW: nur Zahlen in mehreren TextBoxen
10.05.2011 13:28:15
Rudi
Hallo,
das geht mit einer eigenen Klasse für die Textboxen.
Füge ein Klassenmodul (clsUF) ein.
Code:
Option Explicit
Public WithEvents myTxtBox As MSForms.TextBox
Private Sub myTxtBox_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57
Case Else: KeyAscii = 0
End Select
End Sub

Im Modul der UF:
Option Explicit
Dim objTbx(1 To 20) As New clsUF
Private Sub UserForm_Activate()
'Textboxen initialisieren
Set objTbx(1).myTxtBox = txtMenge1
Set objTbx(2).myTxtBox = txtWert1
Set objTbx(3).myTxtBox = txtMenge2
Set objTbx(4).myTxtBox = txtWert2
'usw.
End Sub

Gruß
Rudi
Anzeige
AW: nur Zahlen in mehreren TextBoxen
10.05.2011 13:56:59
Frank
Hallo Rudi,
vielen Dank für deine Antwort - echt ein tolles Forum, wo immer schnell geholfen wird. Ich habe jetzt eine neue Datei angelegt um deinen Code zu probieren. In VBA habe ich Einfügen Klassenmodul geklickt, was du mit clsUF meinst weiß ich nicht (siehe Bild). Ich würde mich freuen, wenn du mir kurz erläutern könntest was bei UserForm_Activate passiert und woher txtMenge und txtWert herkommen? Schade, auf sowas würde ich nie kommen, von daher wäre eine kleine Erklärung zum besseren Verständnis ganz gut
https://www.herber.de/bbs/user/74765.jpg
Vielen Dank und viele Grüße,
Frank
Anzeige
AW: nur Zahlen in mehreren TextBoxen
10.05.2011 14:05:48
Rudi
Hallo,
du musst Klasse1 in clsUF umbenennen.
Oder
Dim objTbx(1 To 20) As New Klasse1
Das sind dann 20 Instanzen von Klasse1
und woher txtMenge und txtWert herkommen?

Das musst du an deine vorhandenen Textboxen anpassen. Ich kann viel, aber nicht hellsehen.
Set objTbx(1).myTxtBox = txtMenge1
weist das Steuerelement (Textbox) txtMenge1 der ersten Instanz der neuen Klasse zu. etc.
Gruß
Rudi
Anzeige
Vielen Dank Rudi...
10.05.2011 14:22:06
Frank
ich habe noch nie mit einem Klassenmodul gearbeitet, aber ich dachte mir schon das es darauf hinaus läuft. Danke schön.
Noch kurz eine Frage: Wie lasse ich Kommas zu (zumindest eins) und das es eagl ist ob ich ein Komma oder einen Punkt definiere?
Vielen Dnak und viele Grüße,
Frank
Anzeige
AW: Vielen Dank Rudi...
10.05.2011 14:55:25
Rudi
Hallo,
Case 48 To 57, 44, 46
Gruß
Rudi
DANKE :o) owT.
10.05.2011 15:15:15
Frank
.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige