06.07.2018, 13:53
Hallo,
ich möchte für eine Tabelle ein Dropdown-Menü erstellen mit VBA, welches sich dynamisch an die verschiedenen Elemente anpasst.
Es ist so gedacht, dass Benutzer in einem anderen Tabellenblatt ihre gewünschten Elementen eintragen können und aufbauend darauf sich auch die Möglichkeiten bei der Auswahl im Dropdown-Menü ändern sollen.
Mit dem Makrorekorder habe ich folgende Lösung erhalten:
Dabei habe ich neben den gefüllten Zellen auch ungefüllte markiert, sodass diese beim späteren nachtragen auch mit berücksichtigt werden. Jedoch bekomme ich im Dropdown-Menü folglich auch leere Felder zur Auswahl angezeigt. Mir fallen spontan zwei Ideen ein:
1) Kann man für das Dropdown-Menü definieren, dass nur gefüllte Zellen in einem Bereich berücksichtigt werden.
2) Ist es sinnvoller mit einer Schleife einen Bereich zu druchlaufen und auf Inhalt zu prüfen?
Bin über jede Hilfe dankbar :)
ich möchte für eine Tabelle ein Dropdown-Menü erstellen mit VBA, welches sich dynamisch an die verschiedenen Elemente anpasst.
Es ist so gedacht, dass Benutzer in einem anderen Tabellenblatt ihre gewünschten Elementen eintragen können und aufbauend darauf sich auch die Möglichkeiten bei der Auswahl im Dropdown-Menü ändern sollen.
Mit dem Makrorekorder habe ich folgende Lösung erhalten:
Code:
Sub Potential()
'
' Potential Makro
'
'
Application.CutCopyMode = False
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Parameter!$A$19:$A$36"
.IgnoreBlank = False
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
1) Kann man für das Dropdown-Menü definieren, dass nur gefüllte Zellen in einem Bereich berücksichtigt werden.
2) Ist es sinnvoller mit einer Schleife einen Bereich zu druchlaufen und auf Inhalt zu prüfen?
Bin über jede Hilfe dankbar :)