Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Dropdown-Liste erstellen
#1
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?
Antworten Top
#2
Hallöchen,

eventuell z.B.
Cells(Zeile, Spalte).Address
Range(Cells(Zeile1, Spalte1),Cells(Zeile2, Spalte2)).Address
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
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.
Antworten Top
#4
Hallo,

wie hast Du es denn genau geschrieben?

Gruß Uwe
Antworten Top
#5
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
Antworten Top
#6
Hallöchen,
btte nur so, wie es in meinem Beitrag steht Formula1:= ... und dann ohne Anführungszeichen und mit .Address
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
ohne Anführungszeichen kommt eine Fehlermeldung. Objekt unterstüzt diese Eigenschaft oder Methode nicht.
Antworten Top
#8
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
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • schauan
Antworten Top
#9
Tausend Dank Uwe
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste