Formule opstellen dmv tekst.samenvoegen

Status
Niet open voor verdere reacties.

Willem99

Gebruiker
Lid geworden
8 feb 2012
Berichten
55
Ik heb verschillende prijslijsten met allen dezelfde opmaak en nou wil ik dat er een formule wordt opgesteld waarbij er naar een waarde gezocht word in het bestand dat ik aangeef.

Het bestand waarin gezocht moet worden bepaal ik door te kiezen voor de juiste klant. Vervolgens zoekt hij het juiste bestand in de tabel (prijslijst 1.xlsx of prijslijst 2.xlsx of prijslijst 3.xlsx). In de blauwe cel komt nou precies de goede hyperlink naar het bestand. Maar toch geeft hij niet de juiste waarde weer. Waarschijnlijk heeft dit te maken met de formule die in de blauwe cel staat (tekst.samenvoegen). Als ik de gegevens in de blauwe cel kopieer en plak speciaal als waarden dan geeft hij wel de goede waarde uit de formule…

Nou kan ik geen formule vinden voor dit probleem en wellicht gaat het wel met VBA..

Kan iemand me helpen?

Zie bijlage:

Bekijk bijlage Test1.4.xlsm
 
Vraag is natuurlijk: wat is je probleem eigenlijk? Want wat moet de vba oplossing dan doen?
 
Mijn probleem is dat ik wil dat de blauwe cel met tekst.samenvoegen een formule/link genereert. Zodat ik de uitkomst in een ALS-functie kan gebruiken. Als ik die cel kopieer en plak speciaal als waarden dan geeft hij wel de goede waarde uit de formule. Omdat ik denk dat dit niet met het "gewone" excel kan, hoop ik dat dit wel met VBA kan.
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$4" Then Cells(13, 2) = Cells(12, 2).Value
End Sub
 
Nu wil ik mijn drop down menu eigenlijk in een ander tabblad zetten.
Hiervoor heb ik de code aangepast, alleen werkt hij zo nog niet..

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = sheets("Blad1").Range("C4") Then Cells(20, 19) = Cells(66, 19).Value
    If Target.Address = sheets("Blad1").Range("C4") Then Cells(21, 19) = Cells(67, 19).Value
    If Target.Address = sheets("Blad1").Range("C4") Then Cells(22, 19) = Cells(68, 19).Value
End Sub

Wat doe ik niet goed?
 
Probeer eerst te bedenken wat worksheet_change eigenlijk is.
 
Hij verandert dus iets in het betreffende werkblad als ik de gegevens in mijn drop down lijst wijzig.

Maar nu moet hij dus iets veranderen als ik mijn gegevens (dropdown lijst) wijzig in een ander werkblad...
is dit met workbook_change?
 
Worksheet_change werkt vanuit het werkblad waarin je werkt, niet vanuit het doelblad. Dus als je op Blad1 iets verandert, kun je best iets veranderen in Blad2. Maar staat je code op blad2, dan werkt het uiteraard niet.
 
De volgende code werkt, ik heb de code in het juiste blad staan en in de code verwijs ik naar het andere blad. Bedankt voor de hulp.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = "$C$4" Then Sheets("Blad1").Range("S20") = Sheets("Blad1").Range("S66").Value
    If Target.Address = "$C$4" Then Sheets("Blad1").Range("S21") = Sheets("Blad1").Range("S67").Value
    If Target.Address = "$C$4" Then Sheets("Blad1").Range("S22") = Sheets("Blad1").Range("S68").Value

End Sub

Is het mogelijk om de code te verkleinen?
Er komen namelijk nog heel veel regels (If Target.Address = .....) bij..
Alleen Then... is telkens anders
 
Laatst bewerkt:
Suggestie: begin eens in een basisboek VBA.
 
Deze formule hangt nu aan een validatielijst..
Is het ook mogelijk dat deze waarde aan een draaitabel hangt?
Dat hij doordat je een waarde aangeeft bij een draaitabel, gaat zoeken naar de goede prijs...
Bij een validatielijst deed de formule namelijk wel, maar als ik een draaitabel op dezelfde plek zet dan gebeurt er niets..
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan