94451
Goto Top

Auswahlliste mit variablen

Hallo,

ich möchte in VBA eine Liste generieren... möchte hier aber nicht den Umweg über die Tabelle nehmen

das hier Funktioniert:
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="Wert 1;Wert 2"  
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""  
        .ErrorTitle = ""  
        .InputMessage = ""  
        .ErrorMessage = ""  
        .ShowInput = True
        .ShowError = True
    End With

wenn ich aber statt

Formula1:="Wert 1;Wert 2"


z.B.
variable = "Wert 1;Wert 2"
Formula1:=variable

verwende geht das nicht?

wie geh ich das richtig an???

Danke

Content-Key: 316879

Url: https://administrator.de/contentid/316879

Ausgedruckt am: 28.03.2024 um 16:03 Uhr

Mitglied: 94451
94451 05.10.2016 um 08:01:29 Uhr
Goto Top
gefunden habe ich folgendes:

Formula1:=Join(MyList, ",")

trifft sich gut, da ich auch ein "Array" zu verarbeiten habe...

allerdings weder mit "," noch mit ";" kann er das verarbeiten face-sad

"Anwendungs- oder objektdefinierter Fehler"
Mitglied: Kraemer
Kraemer 05.10.2016 um 08:15:03 Uhr
Goto Top
Zitat von @94451:
variable = "Wert 1;Wert 2"
Ich kann es gerade nicht testen, aber kann es sein, dass das eher so aussehen muss:?

variable = "'Wert 1';'Wert 2';'Wert 3'"  

Gruß Krämer
Mitglied: colinardo
colinardo 05.10.2016, aktualisiert am 06.10.2016 um 10:41:57 Uhr
Goto Top
Servus.
Also hier funktioniert das absolut problemlos:
Dim mylist As Variant
mylist = Array("Wert1", "Wert2", "Wert3")  
With Selection
        .Validation.Delete
        .Validation.Add xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=Join(mylist, ",")  
End With

Grüße Uwe