ich habe mal eine FRage bzw. bitte falls jemand Zeit hat mir kurz zu helfen. Ich habe eine Suchfunktion schon seit längerer Zeit in einer Tabelle integriert. Diese würde ich gerne so anpassen, das Sie über alle Tabellenblätter in einer Arbeitsmappe sucht - dabei sollte die Suchfunktion aber nur WErte einer Zelle in der jeweiligen Tabelle abgleichen, diese wie schon vorher auflisten und bei Auswahl in Userform zu der Zelle bzw. Tabellenblatt springen?
Ich hänge den von mir bis jetzt verwendeten Code unten an - währe toll wenn mir jemand helfen könnte - ein Danke schon mal.
Option Explicit
Dim x As Long
Dim FaName As String
Private Sub CommandButton1_Click()
FaName = ""
Unload Me
End Sub
Private Sub Frame2_Click()
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim Zelle As Range, Bereich As Range
Dim aletzte As Integer
Dim FaName As String
With Sheets("Wörterliste")
aletzte = .Range("A3").End(xlDown).Row
Set Bereich = .Range("A3:A" & aletzte)
FaName = ListBox1.Value
For Each Zelle In Bereich
If FaName = Zelle.Text Then
Zelle.Activate
Exit For
End If
Next Zelle
End With
Unload Me
End Sub
Private Sub TextBox1_Change()
Dim arr() As Variant
Dim index As Long, iCount As Long
x = IIf(IsEmpty(Range("A65536")), Range("A65536").End(xlUp).Row, 65536)
If TextBox1.Value = "" Then
ListBox1.RowSource = "A3:A" & x
Exit Sub
End If
ListBox1.RowSource = ""
ListBox1.Clear
For index = 3 To x
If LCase(Left(Cells(index, 1), Len(TextBox1))) = LCase(TextBox1) Then
If Sheets("Wörterliste").Cells(index, 1) "" Then
On Error Resume Next
ReDim Preserve arr(0, 0 To iCount)
arr(0, iCount) = Cells(index, 1)
iCount = iCount + 1
ListBox1.Column = arr
End If
End If
Next
End Sub
Private Sub UserForm_Initialize()
x = IIf(IsEmpty(Range("A65536")), Range("A65536").End(xlUp).Row, 65536)
ListBox1.RowSource = "A3:A" & x
End Sub