mit folgendem Code versuche ich einer Zelle eine Liste
der gültigen Eingabewerte hinzuzufügen:
Private Function strReadcolumns() As String
Dim strColumns() As String
Dim i As Byte
For i = 0 To Sheets(strSheetInput).Range("IV1").End(xlToLeft).Column - 3
ReDim Preserve strColumns(i)
strColumns(i) = MyColumn(Sheets(strSheetInput).Range("C1").Offset(0, i).Address)
Next i
For i = 0 To UBound(strColumns)
strReadcolumns = strReadcolumns & strColumns(i) & ";"
Next i
strReadcolumns = Mid(strReadcolumns, 1, Len(strReadcolumns) - 1)
End Function
Sub Makro2()
Dim text As String
'
text = strReadcolumns
Range("C5").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=text
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Function MyColumn(ByVal Here As String) As String
MyColumn = Mid(Here, InStr(Here, "$") + 1, InStr(2, Here, "$") - 2)
End Function
D.h. es werden alle Spalten eingelesen bei denen in Zeile1 was steht.
In der Gültigkeitszelle ist jetzt aber nicht jede Spalte einzeln zum Auswählen mit DROPDown drinnen sondern der Uebergabestring komplett, d.h. z.B. C;D;E;F;E
Warum klappt das nicht??
Danke Matze