Hallo
viel Wirbel um nichts ... ??? Da ziehe ich amüsiert meine Augenbraue hoch und frage sehr höflich:
Warum hast du nicht eine (anonyme) Beispieldatei mit deiner Wunschvorstellung hochgeladen??
Da hättest du in ein paar Minuten ein Makro bekommen kölnnen, Kannst du auch selbst erstellen!
Man nehme .... das Dr. Oetker Backbuch für VBA!
schalte den Makro Recorder ein, mache einen Suchlauf nach "A" und frag uns wie es weitergeht.
Mal sehen wie lange ich brauche um dafür ein Makro zu entwickeln?? Schau bitte mal unten.
Den Code in das Sheet kopieren, wo sich den DropDown befindet, und die Eingabe Zelle festlegen!
Bei Const zwei Spalten angeben: Wo sich die Spalte zum Suchen befindet, wo das Ergebnis hin soll.
Zum Testen erstelle mal eine Testdatei mit Sheet Tabelle1 und Tabelle2, dann siehst du das Ergebnis.
mfg Gast 123
Code:
Option Explicit
Dim rFind As Range, Adr1 As String
Const SuSp = "A" '** Deine Suchspalte "Apfel"
Const DwSp = "X" '** Deine Spalte für DropDown
'dieser Code listet alle Artikel auf
'die mit dem 1. Buchstaben beginnen
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Tb2 As Worksheet, z, SuTxt
Set Tb2 = Worksheets("Tabelle2")
If Target.Address(0, 0) = "A1" Then Else Exit Sub
'** Deine Eingabe Zelle festlegen!!
With Worksheets("Tabelle1")
'** Deine Eingabe Zelle
SuTxt = .Range("A1").Value
'alte Dropdown Liste löschen
.Range(.Cells(1, DwSp), .Cells(100, DwSp).End(xlUp)).ClearContents
z = 2 '1.Zeile für DropDown
'Suche Text in Tabelle2, Spalte XXX
Set rFind = Tb2.Columns(SuSp).Find(What:=SuTxt, After:=Cells(1, SuSp), LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
If Not rFind Is Nothing Then
Adr1 = rFind.Address
Do
If Left(rFind, Len(SuTxt)) = SuTxt Then
.Cells(z, DwSp) = rFind
z = z + 1
End If
Set rFind = Tb2.Columns(SuSp).FindNext(rFind)
Loop Until rFind.Address = Adr1
End If
End With
End Sub
höfliche Schlussfrage, rein aus Interesse: wird in der Hölle noch -kein KI- verwendet??
(Kölner Humor)