Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
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

alle Steuerelemente ansprechen

alle Steuerelemente ansprechen
29.03.2021 09:29:05
Josef
Hallo zusammen.
ich habe ein Tabellenblatt mit vielen Active-X Steuerelementen. Nun möchte ich diese gern aus einer userform heraus alle ansprechen. Es kommt also in einer userform die Frage "Möchten sie alles archivieren?"
Mit dem Click auf OK sollen alle auf "enabled = false" gesetzt werden und ggf. die Hintergrundfarbe angepasst werden.

es betrifft:
Checkboxen -> enabled = false
Comboboxen ->enabled = false und Hintergrund grau
TextBoxen ->enabled = false und Hintergrund grau
Commandbuttons  -> enabled = false
Label -> enabled = false

Meinen Frage sind nun:
1) wie sieht der Code / die Codes aus um nicht jedes Element einzeln auflisten zu müssen?
2) kann ich das in einem Zahlenbereich eingrenzen?
z.B. TextBox 1 bis 100 -> enabled = false oder TextBox 1,3,5,51 & 21 -> enabled = false
Es wäre toll wenn ihr mir weiterhelfen könnt.
Vielen Dank schonmal.
Josef

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

Betreff
Datum
Anwender
Anzeige
AW: alle Steuerelemente ansprechen
29.03.2021 09:37:14
MRUTOR
Hallo Josef,
so:

Dim sh As Worksheet
Dim obj As OLEObject
Set sh = Thisworkbook.Sheets("Tabelle1")       'Tabellenname anpassen
For Each obj In sh.OLEObjects
Deine Aktionen
Next

Gruss Tor

AW: alle Steuerelemente ansprechen
29.03.2021 10:10:49
Josef
Hallo Tor,
zunächst vielen Dank für deine schnelle Antwort.
Was muss dann anstelle "Deine Aktion" stehen?
Mit folgendem Ausruck wird das nix

Private Sub CommandButton1_Click()
Dim sh As Worksheet
Dim obj As OLEObject
Set sh = ThisWorkbook.Sheets("Tabelle1")
For Each obj In sh.OLEObjects
Enabled = False
Next
End Sub
Hier eine abgespeckte Beispieldatei:
https://www.herber.de/bbs/user/145181.xlsm
Vielen Dank nochmal
Josef

Anzeige
AW: alle Steuerelemente ansprechen
29.03.2021 10:12:59
MRUTOR
Hallo Josef,
du musst natuerlich auch dem Code sagen, was er auf enabled = false setzen soll:

For Each obj In sh.OLEObjects
obj.Enabled = False
Next

Gruss Tor

AW: alle Steuerelemente ansprechen
29.03.2021 10:30:15
Josef
Alles klar Danke, das funktioniert.
Ich möchte nun aber bei den Textboxen noch die Hinterrgundfarbe grau einstellen.
Wie gehe ich da vor?
Gruß Josef

AW: alle Steuerelemente ansprechen
29.03.2021 10:54:30
Rudi
Hallo,
Sub aaa()
Dim sh As Worksheet
Dim obj As OLEObject
Set sh = ThisWorkbook.Sheets("Tabelle1")       'Tabellenname anpassen
For Each obj In sh.OLEObjects
obj.Enabled = False
Select Case LCase(obj.progID)
Case "forms.textbox.1", "forms.combobox.1"
obj.Object.BackColor = RGB(200, 200, 200) 'anpassen
End Select
Next
End Sub

Gruß
Rudi

Anzeige
AW: alle Steuerelemente ansprechen
29.03.2021 11:38:29
Josef
Super.
Das funktioniert.
Ich danke euch beiden recht herzlich und wünsche noch eine schöne Restwoche.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige