Clever-Excel-Forum

Normale Version: Userform: Anzeige der Textbox-Nummern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe eine Userform mit 3 Pages und insgesamt um die 300 Textboxen/Checkboxen/OptionButtons usw.

Wie kann ich die Nummern der Elemente in der Userform anzeigen lassen und am besten noch ausdrucken?
Hallo Ralf,

als Beispiel für TextBoxen so:

Sub SteuerelementeAuslesen()
Dim obj As Control

For Each obj In UserForm1.Controls

    If TypeName(obj) = "TextBox" Then
        Debug.Print obj.Name
    End If

Next obj

End Sub


VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 12 - mit VBAHTML 12.6.0


Bei verschiedenen Steuerelementen vermutlich besser über eine Select Case-Anweisung.

Gruß
ich
Hallo,

(27.10.2016, 10:46)IchBinIch schrieb: [ -> ]als Beispiel für TextBoxen so:

ich dachte eher an einen Ausdruck, eine Anzeige der Userform und dort dann die Sichtbarkeit der Nummern.
Soviel ich mich erinnern kann, sah man das früher im Editor, wenn man die Aktivierreihenfolge einstellen wollte. Ich muß doch irgendwie sehen, welches Element jetzt in welcher Reihenfolge ist. Bei 300 Textboxen kann ich mir doch nicht merken, welches jetzt 255 ist oder 125 usw.
Hallo Ralf,

ich verstehe schon worum es Dir geht nur fällt mir keine passende Lösung ein Undecided.

Gruß
Ich
Hallo,

(27.10.2016, 15:56)IchBinIch schrieb: [ -> ]ich verstehe schon worum es Dir geht nur fällt mir keine passende Lösung ein Undecided

ok, dann sind wir schon mal zwei. :22:
Hi Ralf,

vielleicht sowas:
Private Sub UserForm_Click()
 Dim oCon As MSForms.Control, i As Long
 On Error Resume Next
 For Each oCon In Me.Controls
   oCon.Caption = oCon.Name
   oCon.Value = oCon.Name
 Next oCon
 For Each oCon In Me.Controls
   If TypeName(oCon) = "MultiPage" Then
     For i = 0 To oCon.Pages.Count - 1
       oCon.Value = i
       Me.PrintForm
     Next i
   End If
 Next oCon
 Me.PrintForm
End Sub
Gruß Uwe
Raffiniert!
Den Namen in das Steuerlement schreiben Exclamation.
Hallo Uwe,

(27.10.2016, 18:32)Kuwer schrieb: [ -> ]vielleicht sowas:

danke, hat sehr gut geklappt!
Hallo Uwe,

ich hatte vor Rabe auch eine Lösung anzubieten, z.B. die Mappe mit UserFormen aufzulisten, bin aber vom fachlichen her steckengeblieben, weil mir das nötige Wissen fehlt wie man UserFormen als VbComponent auflisten kann. Anbei mal eine Beispieldatei was ich selbst herausgefunden habe, aber alle drei UserFormen als Objekt auflisten habe ich nicht geschafft. Ich wollte sie als Universal Datei entwickeln um eine externe Mappe komplett auflisten zu können. 

Die Tabellen Properties kann ich über VbComponent Properties mittels For Next Schleife über Index auflisten, aber ich fand im Internet kein Beispiel wie man die UserForm Controls über Index auslesen kann?  Oder wie man UserForm und Controls bei externen Mappen als Objekt Variable deklarieren kann / muss.

Hast du dafür einen passenden Vorschlag?  Würde mich sehr freuen.

mfg  Gast 123