Zoeken op 2 criteria

Status
Niet open voor verdere reacties.

Swisser

Gebruiker
Lid geworden
17 mei 2013
Berichten
23
Beste VBA experts,

Ik wil graag in een tabel een onderwerp zoeken met de laatste datum waarop het onderwerp behandeld is.
Het onderwerp staat en selecteer ik in het werkblad Onderwerp. Vervolgens zoeken in het werkblad Synthese, het onderwerp in kolom E en de datum in kolom C. Het is voldoende als de betreffende rij wordt geselecteerd, zodat ik het bij het onderwerp behorende besluit uit werkblad Onderwerp, kan plaatsen in de kolom besluit in werkblad Synthese. Bekijk bijlage VoorbeeldFilterOpNaam.xls
 
Nog geen reactie

Beste VBA experts,

ik heb nog geen reactie mogen ontvangen op mijn probleem. Ik weet dat het eigenlijk niet heel moeilijk is, maar ik ben onvoldoende expert om het 'netjes' op te lossen. Maar mogelijk is mijn vraagstelling niet geheel duidelijk, het voorbeeldbestand is het dacht ik wel. Ik zou graag een oplossing ontvangen dus laat mij weten als ik eea iets duidelijker moet omschrijven.
Bij voorbaat dank!
 
Swisser,

Je probleem is helaas niet duidelijk, een voorbeeld, in je vraag stel je dat in het werkblad onderwerp je een selectie maakt.
Maar op het werkblad zijn alle onderwerpen vermeld, welke moet ik zoeken?
Als het alleen het invoeren van het besluit is zou het dan niet handiger zijn om handmatig de selectie uit te voeren en
in te typen. Nu loop je eerst een lijst te maken die je later wil verwerken. Dubbel werk dus.
Ik snap dus eigenlijk noch je probleem, noch je methode.

Veel Succes.
 
Dank voor je reactie en nadere uitleg

Dank in ieder geval voor je reactie.
Zoals je zult begrijpen gaat het hier om een voorbeeldbestand. In werkelijkheid zijn er ruim 200 onderwerpen en inmiddels meer dan 1200 groepsoverleggen waarin de onderwerpen zijn behandeld. Omdat 1 onderwerp in meerdere groepen wordt behandeld wil ik graag via het werkblad Onderwerpen een en ander actualiseren.
Dus als ik bijvoorbeeld Onderwerp B wil actualiseren dan doe ik dat in het werkblad Onderwerpen. Het is de bedoeling dat een macro vervolgens in het werkblad Synthese het Onderwerp B gaat zoeken op de meest recente datum waarop deze voorkomt en vervolgens in de kolom besluit de geactualiseerde tekst plaatst. Het gaat mij dus om het zoeken naar de meest recente datum waarop het onderwerp voorkomt, een loop op 2 criteria, die ik misschien omslachtig wel kan maken, maar waar vast, ik weet het zeker, een eenvoudiger manier voor is.
Ik hoop dat je me met deze uitleg verder kan helpen.

Groet!
 
Oplossing met VBA.

Swisser,

Ik denk dat je aan twee mogelijkheden moet denken.
De eerste is door te sorteren op onderwerp en daarna op datum (aflopend).
Als je dan filtert op onderwerp staat de laatste datum bovenaan.
Ik vermoed echter dat dit voor jou geen bevredigend antwoord is daarom heb ik ook een VBA oplossing voor je bedacht.

Hierbij de macro zoals ik die bedacht heb.

Code:
Type ZoekRes2
    ZoekDatum As Date
    ZoekRegel As Long
End Type


Public Sub ZoekOpTweeCriteria()

'Zoek een Onderwerp, en binnen dit onderwerp de laatste datum.
'het onderwerp staat op tabblad "Onderwerp" in Cel A2

Dim ZoekRes As ZoekRes2
Dim Zoekstring As String
Dim lLoper As Long

Zoekstring = Sheets("Onderwerp").Range("A2")

'Zoek in Synthese naar onderwerp, en onthoud de datums
With Sheets("Synthese").Range("E5")
    Do While .Offset(lLoper, 0) <> ""
        If .Offset(lLoper, 0) = Zoekstring Then
            'Onderwerp is gevonden, controleer datum
            If .Offset(lLoper, -2) > ZoekRes.ZoekDatum Then
                'Datum is hoger dan in zoekresultaat dus onthouden.
                ZoekRes.ZoekDatum = .Offset(lLoper, -2)
                ZoekRes.ZoekRegel = lLoper
            End If
        End If
        lLoper = lLoper + 1
    Loop
End With

'Lijst doorzocht, activeren van de gezochte regel.
Sheets("Synthese").Select
Range("G5").Offset(ZoekRes.ZoekRegel, 0).Select


End Sub

Deze macro lost niet het alle problemen op maar het zal een begin vormen.
Ik voeg je bestand met bovenstaande macro hierbij toe.
Bekijk bijlage HelpMijFilterOpNaam.xls

Veel Succes.
 
Het werkt

Veel dank voor jouw code met duidelijke uitleg. Ik heb het wat aangepast voor in het originele bestand en het werkt helemaal perfect.
Ik was bang dat zo'n loop teveel tijd zou kosten, maar niet dus, over zo'n 2000 rijen doet hij evenlang als een muisklik.

Groet!
 
Swisser,

Goed dat je tevreden bent. Kun je dan ook deze vraag als opgelost zetten.

Groeten

Elsendoorn2134
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan