Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

find & autofilter

Forumthread: find & autofilter

find & autofilter
30.03.2006 14:09:35
Volker
Hallo allerseits,
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
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: find & autofilter
30.03.2006 19:33:25
ChrisL
Hallo Volker
Du hast die Liste für den Vergleich bereits in der Gültigkeit zur Verfügung. Ein Beispiel mit Zelle A1 und B1.

Sub t()
Dim rngEingabe As Range
Dim rngValidation As Range
Dim strListe As String
Set rngEingabe = Range("A1")
Set rngValidation = Range("B1")
With rngValidation.Validation
strListe = .Formula1
If InStr(strListe, rngEingabe) = 0 Then
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=WorksheetFunction.Substitute(strListe, ";", ",") & "," & rngEingabe
End If
End With
End Sub

Gruss
Chris
Anzeige
AW: find & autofilter
31.03.2006 06:33:36
Volker
Hallo Chris,
Das man mit ".Validation.Formula1" an den string der Validierungsliste kommt, wußte ich nicht. Die Einträge in einer Hilfsspalte zu verwalten fand ich sowieso lästig.
Klasse Lösung, vielen Dank.
Gruß
Volker
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige