Anzeige
Archiv - Navigation
1404to1408
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
Inhaltsverzeichnis

Prozedur für alle Userforms zugänglich machen

Prozedur für alle Userforms zugänglich machen
24.01.2015 13:37:48
Peter

Hallo,
ich bin ein bequemer Mensch und darum suche ich, trotz meiner schwachen Programmierkenntnisse, immer nach Mitteln und Wegen um mir viel Tipperei zu ersparen.
Ich arbeite mit mehreren Userform. In diesen müssen die Textboxen an verschiedenen Stellen geleert werde.
Angefangen habe ich damit, dass ich folgende Zeilen an den entsprechenden Stellen im Programm eingefügt habe:
TextBox1 = ""
TextBox2 = ""
usw.
Da mir das zu aufwendig erschien, folgte Schritt 2:

Sub TxtBoxLeeren()
TextBox1 = ""
TextBox2 = ""
usw.
End Sub
Diese Prozedur habe ich dann mittels CALL TxtBoxLeeren an den entsprechenden Stellen aufgerufen.
Da sich die Anzahl der Textboxen im Laufe der Bearbeitung änderten und ich es leid war ständig nachzupflegen, wurde aus der „dummen“ Auflistung eine Schleife:
Sub TxtBoxLeeren()
For Each obj In Me.Controls
If Left(TypeName(obj), 7) = "TextBox" Then
i = i + 1
obj.Value = “”
End If
Next obj
End Sub
Und nun endlich die Frage:
Ist es möglich die Prozedur TxtBoxLeeren() so zu gestalten, dass sie für alle Userforms in dieser Arbeitsmappe zugänglich ist?
Wenn ja, wo speicher ich sie und wie übergebe ich den Namen des Userforms an die Prozedur, falls das überhaupt notwendig ist.
Gruß,
Peter

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

Betreff
Datum
Anwender
Anzeige
AW: Prozedur für alle Userforms zugänglich machen
24.01.2015 13:42:54
Hajo_Zi
ich hätte ja
If TypeName(obj) = "TextBox" Then
geschrieben.
Ich baue keine Datei nach, die Zeit hat schon jemand investiert.
Ein Nachbau sieht bestimmt anders aus als das Original.
Ein Link zur Datei wäre nicht schlecht.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)
Der Dateiname sollte was mit dem Problem zu tun haben.
Ich habe mir z.B. einen Ordner angelegt in dem ich alle Dateien aus dem Internet speichere. Bei Dateinamen wie Test..., Mappe…, Beispiel… wird eine vorhandene überschrieben.
Ein Bild in Excel geöffnet sieht anders aus als das Bild.
Ich habe kein Tool um ein Bild in Excel zu importieren.

Anzeige
AW: Prozedur für alle Userforms zugänglich machen
24.01.2015 13:50:42
Peter
Hallo Hajo,
Danke für den Hinweis mit TypeName().
Ich lade grundsätzlich Dateien hoch, wenn es sinnvoll ist. Für die Fragestellung ist es nicht sinnvoll eine Datei hochzuladen oder nachzubauen, da es sich hier um eine allgemeine Frage handelt.
Gruß,
Peter

AW: Prozedur für alle Userforms zugänglich machen
24.01.2015 13:45:30
Nepumuk
Hallo Peter,
Beispielaufruf im Modul eines Userforms:
Private Sub CommandButton1_Click()
Call ClearTextboxes(Me)
End Sub
In einem Standardmodul:
Public Sub ClearTextboxes(ByRef probjForm As Object)
Dim objControl As MSForms.Control
For Each objControl In probjForm.Controls
If TypeOf objControl Is MSForms.TextBox Then objControl.Text = ""
Next
End Sub
Gruß
Nepumuk

Anzeige
AW: Prozedur für alle Userforms zugänglich machen
24.01.2015 13:52:24
Peter
Besten Dank! Werde es mal testen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige