Hi!
Habe ein Problem mit dem Erzeugen einer Dropdownliste in einer Zelle mit vba.
Folgende Grundsituation: Ich habe zwei Workbooks (A+B). In A steht die Datengrundlage und der Code, in B soll die Dropdownliste eingefügt werden.
Die Liste selbst würde ich mit folgendem Code erzeugen:
With Selection.Validation
.Delete
.Add Type:=3, AlertStyle:=1, Operator:=1, Formula1:=strString
.IgnoreBlank = True
.InCellDropdown = True
.ErrorTitle = „Eingabefehler“
.ErrorMessage = „Wählen Sie einen Wert aus dem Zelldropdown.“
.ShowError = True
End With
Natürlich nachdem eine Zelle mit „Select“ gewählt wurde.
In dem String „strString“ steht dann der Inhalt der Dropdownliste. Ursprünglich hatte ich dort die einzelnen Einträge der Liste durch Komma getrennt. Also so: „1, 2, 3, 4“. Die einzelnen Punkte sind Einträge in einer Spalte der Datengrundlage und stehen in jeweils einer Zelle, z.B. für diesen Fall in Spalte A, Zeile 1-4.
Diese Version funktioniert wunderbar - solange die Einträge in den Zellen nicht zu lang werden, denn die Länge von Strings scheint auf 256 Zeichen begrenzt zu sein!?
Man kann wohl scheinbar auch die Datengrundlage über die Zellbezeichnungen herstellen (alle folgenden Beispiele beziehen sich auf obigen Code, nur die genannte Stelle ist geändert):
Formula1:="=A1:A4"
So geht das auch. Probleme habe ich allerdings, wenn ich aus einem anderen Worksheet oder sogar einem anderen Workbook arbeiten möchte.
Formula1:="=’[A.xls]Tabelle1’!A1:A4"
oder
Formula1:="=[A.xls]Tabelle1!A1:A4"
Funktioniert beides nicht. Kann mir jemand helfen? Danke im Vorraus!