Ich möchte per VBA eine Drop-Down auswahl erstellen, wobei die auszuwählenden Werte in einem extra Arbeitsblatt liegen.
Vermutlich ein einfacher Newbie-Irrtum, hier mein Code, unten das Problem:
With Range("A1:A30").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="=assetSheet!A1:A3"
.IgnoreBlank = False
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
In "assetSheet" liegen in den Zellen A1, A2 und A3 entsprechend die Werte.
Problem: Die Werte aus assetSheet (A1-A3) werden nicht für alle DropDowns im Hauptarbeitsblatt übernommen. Woran liegt das?
Konkret, die Rage der Werte, die aus assetSheet bezogen werden, verschiebt sich mit jeder Zelle im Hauptarbeitsblatt um zwei.
Dadurch haben die Drop-Downs am Anfang unterschiedliche Werte, dann bald gar keine mehr, da ja in der verschobenen Range nichts zu finden ist...
Durch dieses Verhalten beziehen sich die Werte für die Datenprüfung aus folgendem Bereichen:
A1=assetSheet!A1:A3
A2=assetSheet!A2:A4
A3=assetSheet!A3:A5
A4=assetSheet!A4:A6
Und so weiter...
Wieso verändert sich das denn? Ich hätte angenommen Formula1:="=assetSheet!A1:A3" wäre fix.
Danke im Voraus für eure Hilfe :-).
|