Wenn Sie Validierungsdaten verwenden möchten, um eine Liste zu erstellen, wird die folgende Fehlermeldung angezeigt :
Sie dürfen keine Referenzoperatoren (wie z. B. Vereinigungen, Schnittpunkte und Bereiche) oder Array-Konstanten für bedingte Formatierungskriterien verwenden.
Ich schlage vor, Sie versuchen, Code als Problemumgehung zu verwenden, um dieses Problem zu beheben.
Sub SetDataValidation() '
Dim WS As Worksheet
Set WS = Worksheets("Sheet1")
Dim rng As Range
'get range of named range
Set rng = WS.Range("NUMBER")
Dim ARR As Variant
ReDim ARR(1 To 1) As Variant
'add cell value from named range to an array
For i = 1 To rng.Cells.Count
ARR(UBound(ARR)) = rng.Cells(i).Value
ReDim Preserve ARR(1 To UBound(ARR) + 1) As Variant
Next i
'add your predefined value to the array
ARR(UBound(ARR)) = 17
'set validation for B1 with the combined array
With WS.Range("B1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=Join(ARR, ",")
End With
End Sub
In meinem Beispiel habe ich den Bereich NUMBER genannt und erhalte das Ergebnis: