hallo,
Ik heb een database opgesteld en hierbij wil ik op het voorblad een zoekfunctie maken. Ik heb met VBA een userform gemaakt welke goed werkt. Code userform:
ik heb op meerdere werkbladen data staan en vandaar 2 colommen in de userform. 1 geeft de zoekresultaten weer 1 welk tabblad. Wanneer je op de lijst klikt verspringt hij naar de juiste cel. Nu wil ik mijn userform wat uitbreiden maar ik kom er niet uit, hopelijk kunnen jullie mij helpen:
- Ik heb dubbelingen staan in mijn database (meerdere subcategorieën/hoofdcategorieën) hij geeft deze allemaal weer in de lijst. Ik zou eigenlijk willen dat hij deze dubbelingen niet meer weergeeft en alleen het eerste exemplaar in de reeks geeft en hierheen verwijst als je erop klikt.
-Ik wil wel dat hij zoek op meedere tabbladen maar niet op allemaal ik wil 2 tabbladen kunnen selecteren
Ik hoop dat jullie mij kunnen helpen,
Bedankt alvast!
Ik heb een database opgesteld en hierbij wil ik op het voorblad een zoekfunctie maken. Ik heb met VBA een userform gemaakt welke goed werkt. Code userform:
Code:
Sub Locate(Name As String, Data As Range)
Dim rngFind As Range
Dim strFirstFind As String
With Data
Set rngFind = .Find(Name, LookIn:=xlValues, lookat:=xlPart)
If Not rngFind Is Nothing Then
strFirstFind = rngFind.Address
Do
If rngFind.Row > 1 Then
ListBox1.AddItem rngFind.Value
ListBox1.List(ListBox1.ListCount - 1, 1) = Data.Parent.Name
ListBox1.List(ListBox1.ListCount - 1, 2) = Data.Parent.Name & "!" & rngFind.Address
End If
Set rngFind = .FindNext(rngFind)
Loop While Not rngFind Is Nothing And rngFind.Address <> strFirstFind
End If
End With
End Sub
Private Sub CommandButton1_Click()
Dim shtSearch As Worksheet
ListBox1.Clear
For Each shtSearch In ThisWorkbook.Worksheets
Locate TextBox1.Text, shtSearch.Range("A:C")
Next
If ListBox1.ListCount = 0 Then
ListBox1.AddItem "No Match Found"
ListBox1.List(0, 1) = ""
ListBox1.List(0, 2) = ""
End If
End Sub
Private Sub Label1_Click()
End Sub
Private Sub ListBox1_Click()
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim strSheet As String
Dim strAddress As String
strSheet = ListBox1.List(ListBox1.ListIndex, 1)
strAddress = ListBox1.List(ListBox1.ListIndex, 2)
If strAddress <> "" Then
Worksheets(strSheet).Activate
Range(strAddress).Activate
End If
End Sub
ik heb op meerdere werkbladen data staan en vandaar 2 colommen in de userform. 1 geeft de zoekresultaten weer 1 welk tabblad. Wanneer je op de lijst klikt verspringt hij naar de juiste cel. Nu wil ik mijn userform wat uitbreiden maar ik kom er niet uit, hopelijk kunnen jullie mij helpen:
- Ik heb dubbelingen staan in mijn database (meerdere subcategorieën/hoofdcategorieën) hij geeft deze allemaal weer in de lijst. Ik zou eigenlijk willen dat hij deze dubbelingen niet meer weergeeft en alleen het eerste exemplaar in de reeks geeft en hierheen verwijst als je erop klikt.
-Ik wil wel dat hij zoek op meedere tabbladen maar niet op allemaal ik wil 2 tabbladen kunnen selecteren
Ik hoop dat jullie mij kunnen helpen,
Bedankt alvast!
Laatst bewerkt: