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

Mit Makro mehrere Combobox gleichzeitig ansprechen

Mit Makro mehrere Combobox gleichzeitig ansprechen
23.03.2017 06:28:06
Rainer
Hallo,
eine vermutlich banale Frage, aber ich komm nicht drauf.
In einem Worksheet befinden sich viele Comboboxen.
Diese sollen alle gleichtzeitig aktiviert/deaktiviert werden.
Schreibe ich nun:

ComboBox1.Enable = True
ComboBox1.Visible= True
ComboBox2.Enable = True
ComboBox2.Visible= True
ComboBox3.Enable = True
ComboBox3.Visible= True
ComboBox4.Enable = True
ComboBox4.Visible= True
klappt das auch toll, nur braucht man sehr lange um das alles zu tippen und besonders schön sieht es auch nicht aus.
Wie kann man das professioneller und kürzer schreiben?
Danke und Gruß,
Rainer

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit Makro mehrere Combobox gleichzeitig ansprechen
23.03.2017 07:06:27
Matthias
Hallo
ComboBox1.Enable = True '?
ComboBox1.Visible= True
Wenn das Objekt nicht sichtbar ist braucht man es auch nicht ein/ausschalten.
Ansonsten probier das:
Bsp. für 7 Combobox-Objekte auf Tabelle1
Dim x&
For x = 1 To 7 'anpassen
With Tabelle1.Shapes("Combobox" & x)
.Visible = Not .Visible
End With
Next
Schaltet wechselseitig die Sichtbarkeit an und aus.
Evtl. noch eine Fehlerbehandlung mit einpflegen.
Gruß Matthias
Da gibt es verschiedene...
23.03.2017 07:06:39
Case
Hallo Rainer, :-)
... Möglichkeiten. Entweder eine Schleife über alle "OLEObjects", oder eine Zählschleife:
Option Explicit
Sub Main()
Dim objCtrl As Object
For Each objCtrl In ActiveSheet.OLEObjects
Select Case objCtrl.progID
Case "Forms.ComboBox.1"
With objCtrl
.Visible = True
.Enabled = True
End With
End Select
Next objCtrl
End Sub
Sub Main_1()
Dim lngCount As Long
For lngCount = 1 To 4
With ActiveSheet.OLEObjects("ComboBox" & lngCount)
.Visible = True
.Enabled = True
End With
Next lngCount
End Sub
"ActiveSheet" könnte hier noch auf das richtige Tabellenblatt angepasst werden. Je nachdem, wie Dein Tabellenblatt aussieht (mehrere verschiedene Steuerelemente, oder nur die ComboBoxen, oder...) ist das Ein oder Andere besser bzw. leicher anzupassen.
Servus
Case

Anzeige
AW: Mit Makro mehrere Combobox gleichzeitig ansprechen
23.03.2017 07:44:13
Rainer
Danke Matthias und Case,
wieder was gelernt.
Gruß,
Rainer

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige