• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Waarde opzoekken in meerdere kolommen

Status
Niet open voor verdere reacties.

PRYMIC

Gebruiker
Lid geworden
22 mei 2008
Berichten
11
Dag allemaal,

Op tabblad 2 heb ik mijn tabel die waarin mijn gegevens verspreid zijn over verschillende kolommen.
Op tabblad 1 heb ik mijn tabel waarin ik per "UniekNummer" bepaalde gegevens wil weergegeven uit één van de kolommen uit tabblad 2

Als bijlage heb ik een Test-document toegevoegd

Hieronder een toelichting op het document en mijn wens.
Hopelijk kan iemand me hiermee helpen.

UniekNummer WA-AMS1902 000012 wil ik opzoeken op tabblad 2

Ik wil dan dat er op tabblad 2 wordt gekeken of er op de regel van dit UniekNummer in één van de kolommen is aangegeven "BinnenBeoogdeReactieTijd".
Zo ja, dan "BinnenBeoogdeReactieTijd" weergeven bij dat UniekNummer op tabblad 1
Zo nee, dan op tabblad 2 op diezelfde regel controleren of bij dat UniekNummer "BuitenBeoogdeReactieTijd" is weergegeven

Zo ja, dan "BuitenBeoogdeReactieTijd" weergeven bij dat UniekNummer op tabblad 1
Zo nee, dan op tabblad 1 bij dat UniekNummer de volgende tekst vermelden "ReactieTijdNogOnbekend"
 

Bijlagen

  • Test.xls
    118 KB · Weergaven: 38
probeer deze eens:

Code:
Sub SjonR()
arr = Blad1.Cells.CurrentRegion
arr2 = Blad2.Cells.CurrentRegion

    For i = 2 To UBound(arr)
        For j = 2 To UBound(arr2)
            If arr(i, 1) = arr2(j, 1) Then
                For jj = 2 To UBound(arr2, 2)
                    If arr2(j, jj) = "BinnenBeoogdeReactieTijd" Then
                        arr(i, 2) = arr2(j, jj)
                        Exit For
                    ElseIf arr2(j, jj) = "BuitenBeoogdeReactieTijd" Then
                        arr(i, 2) = arr2(j, jj)
                        Exit For
                    Else
                        arr(i, 2) = "ReactieTijdNogOnbekend"
                    End If
                Next
            End If
        Next
    Next
Blad1.Cells(1).Resize(UBound(arr), 2) = arr
End Sub
 
Met een formule:

In cellen C1 en D1 heb ik de te zoeken tekst getypt; dan in B2 de formule

Code:
=ALS(NIET(ISFOUT(VERGELIJKEN($C$1;Blad2!B2:D2;0)));$C$1;ALS(NIET(ISFOUT(VERGELIJKEN($D$1;Blad2!B2:D2;0)));$D$1;"ReactieTijdNogOnbekend"))

doortrekken.

Of zo: kopieer de formule (<ctrl C>), ga naar laatste cel in kolom A, ga naar B, selecteer de lege cellen via <ctr>+<shift>+pijl omhoog, plak de formule (<ctrl V>)
 
Echt super. Dank jullie beiden!!
@ SjonR: jouw code heb ik nog niet kunnen uitproberen. Maar ik ben er zeker wel blij mee want ik kan ermee gaan oefenen.
@ Jempi10: jouw formule heb ik getest en het werkt perfect
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan