Clever-Excel-Forum

Normale Version: Dropdown-Liste erstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich möchte mit VBA Dropdown-Listen erstellen und der Quellcode dazu sieht folgendermaßen aus:

Sub Makro1()


    With Tabelle1.Range("B5").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Formula1:="=$A$1:$A$10"
        .IgnoreBlank = True
        .InCellDropdown = True
    End With
End Sub

Nun ist das Problem, dass ich für den Bereich bei Formula1 Variablen einsetzten möchte, welche die Zeilen und Spalten ändern.

Sowie ich es kenne geht dies nur über Cells(Zeile, Spalte). Aber wie kann man diesen Cells-Bezug bei Formula1 einbauen?
Hallöchen,

eventuell z.B.
Cells(Zeile, Spalte).Address
Range(Cells(Zeile1, Spalte1),Cells(Zeile2, Spalte2)).Address
Klappt nicht ganz. Dann werden die Adressen der Zellen im Dropdown angezeigt, aber es sollen ja die Inhalte dieser Zellen zur Verfügung stehen.

Wenn man statt .Adress, ein .Value setzt kommt eine Fehlermeldung.
Hallo,

wie hast Du es denn genau geschrieben?

Gruß Uwe
Hallo Kuwer,

so:


Sub Makro1()



    With Tabelle1.Range("B5").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Formula1:="Range(Cells(1, 1),Cells(10, 1))"
        .IgnoreBlank = True
        .InCellDropdown = True
    End With
End Sub
Hallöchen,
btte nur so, wie es in meinem Beitrag steht Formula1:= ... und dann ohne Anführungszeichen und mit .Address
ohne Anführungszeichen kommt eine Fehlermeldung. Objekt unterstüzt diese Eigenschaft oder Methode nicht.
Hallo,

so ist es richtig:
Sub Makro1()
   With Tabelle1.Range("B5").Validation
       .Delete
       .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
       Formula1:="=" & Range(Cells(1, 1), Cells(10, 1)).Address
       .IgnoreBlank = True
       .InCellDropdown = True
   End With
End Sub
Gruß Uwe
Tausend Dank Uwe