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

variabel kolom nummer

Status
Niet open voor verdere reacties.

don42

Gebruiker
Lid geworden
25 apr 2014
Berichten
800
beste helpers,

ik heb dit:
3 regels
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("f4").Resize(1, 1) = "=INDEX(klanten!R2C1:R200C4,MATCH(factuur!R3C6,klanten!R2C1:R200C1,0),COLUMN()-4)"
Range("f5").Resize(1, 1) = "=INDEX(klanten!R2C1:R200C4,MATCH(factuur!R3C6,klanten!R2C1:R200C1,0),COLUMN()-3)"
Range("f6").Resize(1, 1) = "=INDEX(klanten!R2C1:R200C4,MATCH(factuur!R3C6,klanten!R2C1:R200C1,0),COLUMN()-2)"
End Sub
Dus met een verwijzing naar column -4, -3, -2
kan dit ook in 1 regel geschreven worden dat er telkens 1 kolom verder gekeken wordt?




was hier mee bezig :rolleyes:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Long
i = 4
For i = 4 To 6
Cells(i, 6).Resize(1, 1) = "=INDEX(klanten!R2C1:R200C4,MATCH(factuur!R3C6,klanten!R2C1:R200C1,0),COLUMN()-i)"
Next
End Sub

Don
 
Laatst bewerkt:
Werkt dit?
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 4 To 6
  Range("F" & i).Resize(1, 1) = "=INDEX(klanten!R2C1:R200C4,MATCH(factuur!R3C6,klanten!R2C1:R200C1,0),COLUMN()-i)"
Next
End Sub
 
Laatst bewerkt:
@ EA

Op jouw manier zal de i letterlijk in de formule worden opgenomen en dus niet verwijzen naar het nummer.

Code:
For i = 4 To 6
  Range("F" & i).Resize(1, 1) = "=INDEX(klanten!R2C1:R200C4,MATCH(factuur!R3C6,klanten!R2C1:R200C1,0),COLUMN()-" & i & ")"
Next

Verder vraag ik me af of dit in een selectionchange thuis hoort, want bij elke beweging binnen de sheet opnieuw de formules plaatsen lijkt me nutteloos.

Heb de formule verder niet getest/bekeken trouwens!
 
SjonR,

Ik heb gekeken naar zijn eerste code, die staat in het blad en werkt met F4 to F6.
Verder heb ik niets aan gepast.
 
Laatst bewerkt:
Of:
Code:
sub hsv()
Range("f4").Resize(3) = "=INDEX(klanten!R2C1:R200C4,MATCH(factuur!R3C6,klanten!R2C1:R200C1,0),row()-2)"
end sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan