Auf die Gefahr hin, dass ich den passenden Beitrag im Archiv übersehen habe:
Wie kann ich per VBA in einer gefilterten Liste einen ausgeblendeten Wert finden, ohne jede Zelle per Schleife zu vergleichen.
Mit find geht es leider nicht.
Zum Hintergrund:
In Spalte C stehen Daten die ich per Dropddown aus einer Liste wählen kann, die in einer anderen Spalte steht. Ich würde gerne neue Werte zur Liste hinzufügen, indem jede Eingabe im WorksheetChange-Ereignis auf Vorhandensein in der Liste geprüft wird.
Das geht auch soweit:
Ich suche die neue Eingabe aus Spalte C in Spalte J. Wenn sie dort nicht vorhanden ist, wird sie der Liste zugefügt und die Gültigkeit in Spalte C erweitert. Leider funzt das find halt nicht, wenn der gesuchte Wert ausgeblendet ist.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Columns(10).Find(Target) Is Nothing Then
Target.SpecialCells(xlCellTypeSameValidation).Validation _
.Modify xlValidateList, xlValidAlertStop, Formula1:="=$j$2:$j$" &_
Range("j1").End(xlDown).Row + 1
Range("j1").End(xlDown).Offset(1, 0) = Target
End If
End Sub
Weiß jemand Rat? Wäre es eleganter, die Liste in einer Variablen abzulegen?
Gruß und Dank im Voraus
Volker