Beste forumleden,
In het bereik B2:B250 heb ik een formule doorgetrokken.
Bedoeling is dat na wijzigen van een cel in het bereik Q2:Q75 het bereik C2:C250 wordt gevuld met de waarden van de kolom B er naast. De waarden, niet als formule.
(kolom C is eigenlijk een temp-kolom waarin ik de waarden van de formule in kolom B op het moment van de celwijziging in Q even bewaar voor later gebruik)
Ik test dit met volgende code:
Op het werkblad:
en in een module:
Dat werkt, maar duurt telkens 2".
Dus mijn vraag is, hoe kan ik dit sneller voor elkaar krijgen, want naar ik lees is een lus nooit de snelste manier.
Groeten,
Marnik
In het bereik B2:B250 heb ik een formule doorgetrokken.
Bedoeling is dat na wijzigen van een cel in het bereik Q2:Q75 het bereik C2:C250 wordt gevuld met de waarden van de kolom B er naast. De waarden, niet als formule.
(kolom C is eigenlijk een temp-kolom waarin ik de waarden van de formule in kolom B op het moment van de celwijziging in Q even bewaar voor later gebruik)
Ik test dit met volgende code:
Op het werkblad:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Test Target
End Sub
en in een module:
Code:
Public Sub Test(ByVal Target As Excel.Range)
Dim x As Integer
[COLOR="#008000"]'alleen uitvoeren na wijziging in het bereik Q2:Q75 (kolom 17 = Q)[/COLOR]
If Not Target.Column = 17 Then
Exit Sub
End If
If Target.Row = 1 And Target.Row > 75 Then
Exit Sub
End If
[COLOR="#008000"]'alleen uitvoeren bij selectie van 1 cel[/COLOR]
If Target.Cells.Count > 1 Then
Exit Sub
End If
[COLOR="#008000"]'niet uitvoeren bij wissen cel[/COLOR]
If Target.Value = "" Then
Exit Sub
End If
[COLOR="#008000"]'kopieren[/COLOR]
For x = 2 To 250
Cells(x, 3).Value = Cells(x, 2).Value
Next x
End Sub
Dat werkt, maar duurt telkens 2".
Dus mijn vraag is, hoe kan ik dit sneller voor elkaar krijgen, want naar ik lees is een lus nooit de snelste manier.
Groeten,
Marnik