zoekfunctie (liefst in tabel) excel

Status
Niet open voor verdere reacties.

gast0699

Gebruiker
Lid geworden
19 jul 2013
Berichten
73
Goedemiddag,

Ik heb een vraag m.b.t. tot het maken in een zoekfunctie in excel tabellen, ik heb een database in excel gemaakt voor tarieven (laad & loslocaties met tarieven hierachter geplakt). Nu weet ik uiteraard dat dit gewoon met je kolomtitel je een filter kan intypen en hier automatisch een selectie kan maken naar gelang de gezochte data doe je zoekt. Nu wil ik dit echter via een zoekbalk doen, gewoon in een cel laadlocatie typen en loslocatie typen en noem maar op en hij daarop automatisch gaat zoeken. Hierin heb ik enkele stappen kunnnen maken echter ik heb er al i.p.v. een tabel een normaal bereik van moeten maken en ik ben nogal verlief op tabellen. en ik merk dat hoe meer progressie ik maak des te meer ik concessies moet doen op hoe mijn opbouw/opmaak eruit ziet (hahahah :rolleyes:). En ik ben op een punt gekomen dat ik compleet vast zit met mijn project. Kunnen jullie uitkomst bieden?

Even op een rijtje:

Wat ik simpelweg voor ogen heb is in het bereik dat ik nu heb dat je in cel B5 t/m I5 eeen zoeksleutel in kan voeren en dat hij automatisch hierop een filter maakt. ik hoor graag van jullie :cool: fijne zonnige dag allemaal.

Bekijk bijlage tarieven 2018.xlsm
 
Laatst bewerkt:
Of ?

Maak van de tabel eerst een 'intelligente tabel'.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 3 Then
        Target.ListObject.Range.AutoFilter 2, Target.Cells(1)
        Cancel = True
    End If
End Sub
 
Hoi SNB,

Ik heb je code gebruikt dank daarvoor, nu krijg ik de melding fout 1004 Methoude Autofilter van Klasse Range is mislukt.

En hij geeft een fout aan bij de volgende procedure:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 3 Then
        Target.ListObject.Range.AutoFilter 2, Target.Cells(1)
        Cancel = True
    End If
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rGewensteFilters As Range, rFilter As Range, c As Range
    Dim i As Integer, iKolom As Integer
      ActiveSheet.Unprotect
  Set rGewensteFilters = Range("b5:I1000")                                               'dit zijn de cellen waarmee je bepaalde kolommen wil filteren
  Set rFilter = Range("B7")                                                               'dit is de 1e cel van je gegevens, dus linksboven
    If Intersect(Target, rGewensteFilters) Is Nothing Then Exit Sub                       'heb je net iets veranderd in je gewenste filtervelden ? zoniet stop hier
       iKolom = rGewensteFilters.Columns.Count                                            'uit hoeveel velden bestaat je filter ?
     ActiveSheet.AutoFilterMode = False                                                   'even de ganse filter terug uit zetten
  With rFilter.CurrentRegion                                                              'dit is ons gegevensbereik
    For i = 1 To iKolom                                                                   'voor iedere kolom in je gegevens
     If Not IsEmpty(rFilter.Offset(-2, i - 1)) Then                                       'wil je iets filteren in deze kolom ?
      If IsNumeric(rFilter.Offset(-2, i - 1)) Then                                        'als het een getal is dan
       .AutoFilter Field:=i, Criteria1:="=" & "*" & rFilter.Offset(-2, i - 1).Value & "*" 'filter op getal"
      Else                                                                                'anders
   [COLOR="#0000FF"]  .AutoFilter Field:=i, Criteria1:="=" & "*" & rFilter.Offset(-2, i - 1).Value & "*" 'filter op tekst[/COLOR]
       End If
      End If
    Next
  End With
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Ik zie op het eerste zicht niet wat er foutief aan is.

Gr,
 
Laatst bewerkt door een moderator:
verwijder die gehele worksheet_change code
 
zoekcel met autofilter.

Goedemorgen,

Ik ben er echt een paar avondjes mee bezig geweet en heb er letterlijk mijn hoofd over gebroken dus ik ben uiteindelijk van 0 af aan begonnen en moet zeggen dat ik best een eind ben gekomen. Ben nu zover dat ik op 1 cel een kolom kan filteren.. zonder problemen! :cool:
Nu wil ik echter nog 2 zoekvelden toevoegen en deze ook filteren op een kolom, en het liefst zelfs gecombineerd als dit mogelijk is. Maar ik kom gewoon kennis tekort.

Als ik nu een waarde intype in Cel B3 dan filtert hij automatisch Kolom C van de autofilterbereik nu heb ik 2 zoekcellen gemaakt in E3 & G3 maar hier moet hij dus: in E3 kolom 4 filteren en bij G3 kolom 6 filteren.

Bekijk bijlage tarieven 2018.xlsm

Groet,
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan