Plotinus
Gebruiker
- Lid geworden
- 25 mrt 2007
- Berichten
- 658
Ik heb de volgende code:
Wat er in de For-next-lus gebeurt is vrij simpel: als in een bepaalde rij de kolom V=0 (resultaat van en Function) en één van de drie velden in de kolomen S, T en U in dezelfde rij is leeg, dan moet de inhoud in S, T en U in dezelfde rij worden gewist. Dit gebeurt aan de hand van een event: SelectionChange, dus heel vaak. Het is bedoeld om onvolledige of inconsequent ingevulde velden te legen; kolom B mag daarbij buiten beschouwing worden gelaten. Echter, omdat het aantal rijen in de paar duizend kan lopen, treedt er hierdoor ergerlijke vetraging op. Daarnaast ziet er eigenlijk ook niet uit, vind ik.
Vraag is nu, is er een compactere schrijfwijze die ook sneller wordt uitgevoerd?
Code:
LastRow = Range("C" & Rows.Count).End(xlUp).Row
If ActiveCell.Column <> 2 Then
Application.ScreenUpdating = False
Application.Calculate
For i = 9 To LastRow
If Range("V" & i) = 0 And (Range("S" & i) <> " " Or Range("T" & i) <> " " Or Range("U" & i) <> " ") Then Range("S" & i).Resize(, 3) = " "
Next i
End If
Wat er in de For-next-lus gebeurt is vrij simpel: als in een bepaalde rij de kolom V=0 (resultaat van en Function) en één van de drie velden in de kolomen S, T en U in dezelfde rij is leeg, dan moet de inhoud in S, T en U in dezelfde rij worden gewist. Dit gebeurt aan de hand van een event: SelectionChange, dus heel vaak. Het is bedoeld om onvolledige of inconsequent ingevulde velden te legen; kolom B mag daarbij buiten beschouwing worden gelaten. Echter, omdat het aantal rijen in de paar duizend kan lopen, treedt er hierdoor ergerlijke vetraging op. Daarnaast ziet er eigenlijk ook niet uit, vind ik.
Vraag is nu, is er een compactere schrijfwijze die ook sneller wordt uitgevoerd?