ich habe eine Gültigkeitsliste in Spalte L mit Namen "Bereich", die sich in der Größe durch eine Formel dynamisch anpasst. In H4:H684 liegen die Dropdownfelder für diese Liste.
Ich möchte jetzt, dass die sichtbare Liste im Dropdownfeld sich dynamisch verringert, d.h., wenn ich einen Artikel auswähle, dieser im nächsten Dropdownfeld nicht mehr sichtbar ist und deshalb auch nicht mehr ausgewählt werden kann.
Bei meiner Suche habe ich ein ähnliches Makro von Hans W. Herber gefunden, aber meine VBA-Kenntnisse sind leider zu schwach, um das anzupassen. Kann mir dabei jemand helfen? Vielen Dank im voraus für Antworten.
Klaus
Zitat:
"Im Bereich A7:D11 dürfen über eine Auswahlliste immer nur die Werte ausgewählt werden können, die in der jeweiligen Spalte im Vergleich zum Bereich A1:D5 noch frei sind."
Private Sub Worksheet_Change(ByVal Target As Range)
Dim iRow As Integer, iCol As Integer
Dim sVal As String
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Range("A7:D11")) Is Nothing Then Exit Sub
iCol = Target.Column
For iRow = 1 To 5
If IsError( _
Application.Match( _
Cells(iRow, iCol).Value, _
Range(Cells(7, iCol), Cells(11, iCol)), 0)) Then
If sVal <> "" Then
sVal = sVal & "," & Cells(iRow, iCol).Value
Else
sVal = Cells(iRow, iCol).Value
End If
End If
Next iRow
If sVal = "" Then
Range(Cells(7, iCol), Cells(11, iCol)).Validation.Delete
Else
For iRow = 7 To 11
With Cells(iRow, iCol).Validation
.Delete
.Add _
Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:=sVal
.IgnoreBlank = True
End With
Next iRow
End If
End Sub