Meerdere tegelijk zoeken met de zelfde zoek waarde.

Status
Niet open voor verdere reacties.

rvt1982

Gebruiker
Lid geworden
10 aug 2011
Berichten
156
Goedenavond,

Wie kan mij helpen met de volgende script..

Ik heb ik bestand DATA.xls in sheet Data de volgende gegevens:

A1 = W, B1 = 6
A2 = W, B2 = 5
A3 = A, B3 = 4
A4 = A, B4 = 3
A5 = W, B5 = 2
A6 = A, B6 = 1

En zou graag de gegevens van "B:B" willen, zoekend in "A:A" met de letter "W" (als voorbeeld)

En deze wil ik in bestand Dossier.xls in sheet "Zoek" onder elkaar in kolom A

of te wel, de resultaat is:

A1 = 6
A2 = 5
A3 = 2

Wie kan mij hier mee helpen ?

Alvast bedankt voor de hulp..
 
Laatst bewerkt:
Plaats je bestand, dan hoeven wij jouw werk niet over te doen.

Vertel ook eens wat je met het resultaat van deze exercitie wil doen.

Wat was het resultaat toen je autofilter of uitgebreid filter gebruikte ?
 
Laatst bewerkt:
Ik heb in dit bestand in Blad2 de DATA staan, en in blad1 zou ik graag alle resultaten zien als ik met de letter "W" ga zoeken (als voorbeeld)

De uitkomst zou moeten zijn: 5, 11, 15, 18

Dit is bijvoorbeeld een script waar ik de eerste "W" kan zoeken, maar nu wil ik ook de rest...

Code:
    With Sheets("Blad2").Range("A:A")
        Antwoord = .Find("W", , xlValues, xlWhole).Offset(0, 1).Value
    End With


    With Sheets("Blad1")
        .Range("A1").Value = Antwoord
    End With

Alvast bedankt.


Bekijk bijlage Zoeken.xls
 
Vertel ook eens wat je met het resultaat van deze exercitie wil doen.
 
In eerste instantie wegschrijven op blad1 A:A
Dit is uiteindelijk bedoeld voor een dropdown
 
RVT1982,

Hierbij een voorbeeld van een macro.
Ik heb twee tabbladen genoemd, "Data" en "Resultaat".
Verder heb ik een cel opgenomen waar je de gezochte letter kan opnemen, in mijn geval E6
maar dat kan ook iedere andere cel zijn zolang je er maar voor zorgt dat hij niet overschreven wordt
met het resultaat uit de zoekactie.


Code:
Public Sub ZoekLetter()

Dim sZoekLetter As String
Dim sReeks(100) As String
Dim nReeksTeller As Integer
Dim nTeller As Integer

nTeller = 0
nReeksTeller = 0
sZoekLetter = Sheets("Resultaat").Range("E6").Value


'Verwijder oude gegevens.
Sheets("Resultaat").Range("A1", Sheets("Resultaat").Range("A1").End(xlDown)).Clear

'Opzoeken van de nieuwe gegevens
With Sheets("Data").Range("A1")
    Do While .Offset(nTeller, 0) <> ""
        If .Offset(nTeller, 0) = sZoekLetter Then
            sReeks(nReeksTeller) = .Offset(nTeller, 1)
            nReeksTeller = nReeksTeller + 1
        End If
        nTeller = nTeller + 1
    Loop
End With

'Afdrukken nieuwe gegevens.
For nTeller = 0 To nReeksTeller
    Sheets("Resultaat").Range("A1").Offset(nTeller, 0) = sReeks(nTeller)
Next

End Sub

Veel Succes.
 
meervoudig zoeken = filteren.

Gebruik autofilter of avancedfilter (uitgebreid filter).
 
Fiteren was misschien een betere verwoording...

Wel een laatste vraag, Kan het resultaat ook geresized worden ?

Code:
.Resize(,10)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan