• 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 in cel vervangen door andere waarde op basis van inhoud

Status
Niet open voor verdere reacties.

globe

Verenigingslid
Lid geworden
18 mrt 2001
Berichten
3.616
Aloha,

Ik heb een werkblad met 500 artikelen en zo'n 200 features die wel of niet van toepassing zijn op dit artikel.

Ik kan een csv lijst exporteren met de gegevens uit bijgevoegde excel (blad 1)

Waar nu een 1 staat bij een bepaalde feature moet de waarde uit blad2 weergegeven worden.
Dus waar nu bij Feature1 een 1 staat moet er een waarde '4498' worden ingevuld (deze gegevens komen uit blad 2)

In dit voorbeeld lijkt gemakkelijk maar mijn excel lijst is te groot om het met zoeken/vervangen te doen. Plus er komt bij dat ik dagelijks de lijst moet updaten de komende tijd.

Kan excel dit of ben ik op VB aangewezen?

Bekijk bijlage voorbeeld_waarde_vervangen.xls.xlsx
 
Je kunt een kopie maken van blad 1 en in die kopie B2 vervangen door:
Code:
=ALS(Blad1!C2;INDEX(Blad2!$A:$A;VERGELIJKEN(C$1;Blad2!$B:$B;0));0)
Dit doortrekken voor de gehele matrix in het kopieblad.

Je kunt natuurlijk ook de codes opnemen in de kolomkopjes van Blad1...
 
het kan vast eenvoudiger maar dit is een van de oplossingen met vba:
Code:
Sub vervang()
    Dim z As Range, f As Range
    m = [c1].CurrentRegion
    Set z = Range("blad2!A1").CurrentRegion.Columns(2)
    For r = 2 To UBound(m, 1)
        For k = 1 To UBound(m, 2)
            If m(r, k) = 1 Then
                Set f = z.Find(m(1, k), lookat:=xlWhole)
                If Not f Is Nothing Then
                    m(r, k) = f.Offset(, -1)
                End If
            End If
        Next
    Next
    Range(Cells(1, 3), Cells(UBound(m, 1), UBound(m, 2) + 2)) = m
End Sub
 
Top! zie nu pas de oplossingm maar dit helpt me een eind op weg!

Beide antwoorden zijn prima bruikbaar en doen wat ik wil.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan