• 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.

Index Match copy to column

Status
Niet open voor verdere reacties.

Geminite

Gebruiker
Lid geworden
24 mrt 2009
Berichten
55
Beste helpers,

Ik kan een heel verhaal doen om me vraag te stellen, maar in princiepe komt het hier op neer;

=INDEX(data!$B$1:$B$9,MATCH(A12,data!$A$1:$A$9,0),1)

Formule werkt, geen probleem. MAAR hoe doe ik dit in vba (formule handmatig inkopieren no thx)?

Alvast bedankt voor de moeite
 

Bijlagen

Met de macrorecorder opnemen.
Je vult de formule in een cel en de macrorecorder schrijft hem voor je.
 
Als het goed is moet dit hem zijn.
In de cel die je aan klikt (ActiveCel) komt de formule.
Je moet het natuurlijk wel in een macro verwerken.
Code:
ActiveCell= "=INDEX(data!R1C2:R9C2,MATCH(R[6]C[-3],data!R1C1:R9C1,0),1)"
Als je deze code achter het blad zet en je klikt met rechts op een cel plaatst hij de formule.
Klik met rechts op het tabblad en kies voor ProgrammaCode weeggeven en plaatst het daar.
Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
  ActiveCell = "=INDEX(data!R1C2:R9C2,MATCH(R[6]C[-3],data!R1C1:R9C1,0),1)"
End Sub
 
Laatst bewerkt:
Beste wim,

Bedankt voor de suggestie. De R en C codes zijn top.

Aangezien ik wilde dat hij automatisch opzoekt op het moment dat er de cel in kolomA is ingevuld heb ik de volgende formule:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Left(Target.AddressLocal(ColumnAbsolute:=False), 1) = "A" Then
    Target.Offset(0, 1) = "=INDEX(data!R1C2:R9C2,MATCH(R[0]C[-1],data!R1C1:R9C1,0),1)"
End If
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan