Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1064to1068
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

ComboBox - variabler Namen

ComboBox - variabler Namen
26.03.2009 13:09:37
Maxer
Hallo Leser,
mich plagt folgendes Problem:
In einer Exceltabelle habe ich 8 Comboboxen die auf den Namen Vgl_1, Vgl_2, usw hören.
Nun möchte ich für alle 8 den gleichen Listfillrange eintragen.
Mein Code dazu:
Private Sub Worksheet_Activate()
Dim box As msforms.ComboBox
Dim letzte_zelle_Wahl_marke As Long
With Sheets("Master_Variablen")
letzte_zelle_marke = .Range("H65536").End(xlUp).Row
End With
For i = 1 To 8
?box = "Var_" & i?
ActiveSheet.Controls("Var_" & i).ListFillRange = "Master_Variablen!H8:H" & letzte_zelle_marke
Next i
Meine Frage ist nun: Wie bekomme ich es hin das die For-Next-Schleife durch den variablen Namen alle 8 Boxen abklappert.
Danke für eure Hilfe.
Gruß Ron

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

Betreff
Datum
Anwender
Anzeige
AW: ComboBox - variabler Namen
26.03.2009 13:40:11
Ptonka
Hallo Ron,
so....
For i = 1 To 8
ActiveSheet.Shapes("VgL_" & i).Select
With Selection
.ListFillRange = "$F$2:$F$8"
.LinkedCell = "$F$1"
.DropDownLines = 8
.Display3DShading = False
End With
Next i
Gruß,
Ptonka
AW: ComboBox - variabler Namen
26.03.2009 13:53:23
Maxer
Hallo Ptonka,
vielen Dank. Hat super geklappt und heute habe ich gelernt, dass eine ComboBox auch ein Shape ist.
Mein Code sieht nun so aus und funktioniert, wie ich es wollte.
For i = 1 To 8
ActiveSheet.Shapes("Vgl_" & i).Select
With Selection
.ListFillRange = "Master_Variablen!H8:H" & letzte_zelle_marke
End With
Next i
Gruß Ron
Anzeige
AW: ComboBox - variabler Namen
26.03.2009 13:55:32
Beverly
Hi Ron,
eine ComboBox kann man nicht nur als Shape sondern auch als OLEObject ansprechen:

Private Sub Worksheet_Activate()
Dim i As Integer
Dim letzte_zelle_Wahl_marke As Long
With Worksheets("Master_Variablen")
For i = 1 To 8
.OLEObjects("Var_" & i).ListFillRange = .Name & "!H8:H" & .Range("H65536").End(xlUp) _
.Row
Next i
End With
End Sub


Auf Select/Activate kann in VBA zu 99% verzichtet werden.



Anzeige
AW: ComboBox - variabler Namen
26.03.2009 14:13:13
Maxer
Hallo Karin,
danke für deinen Tipp. Der gefällt mir auch sehr gut nicht nur, weil mein VBA Horizon heute um 2 cm vergrößert wurde sondern, weil ich auch ein Fan von effizienten programmieren bin. Getreu dem Motto: weniger ist schneller und übersichtlicher :-)
Gruß Ron
AW: ComboBox - variabler Namen
26.03.2009 14:20:27
Maxer
Hallo Karin,
kurze Frage. Ich habe deinen Code gerade probiert doch er bringt mir den Laufzeitfehler 1004 "Die OLEObjects-Eigenschaft des Worksheets-Objektes kennt er nicht und welchen wert soll den .name wiedergeben?
AW: ComboBox - variabler Namen
27.03.2009 11:09:41
Beverly
Hi Ron,
schau dir in dem angehängten Beispiel die ComboBoxen an: ihnen ist kein ListFillRange zugewiesen. Wechsle auf Tabelle2 und wieder zurück auf Master_Variablen - der Code wird ohne Fehlermeldung ausgeführt und ListFillRange richtig zugewiesen.
https://www.herber.de/bbs/user/60740.xls


Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige