Loop versnellen?

Status
Niet open voor verdere reacties.

Scripter

Gebruiker
Lid geworden
15 jun 2009
Berichten
65
Onderstaande loop werkt op zich prima, maar is er een manier om het sneller uit te laten voeren? Het gaat om +/- 50.000 regels en dan kan ik op mijn gemak koffie gaan zetten...

Code:
Sub Macro1()
    
    Do
    ActiveCell.FormulaR1C1 = "=IF(MONTH(RC[-20])=MONTH(MAX(C[-20])),1,2)"
    ActiveCell.Offset(1, 0).Select
    Loop Until IsEmpty(ActiveCell.Offset(0, -51))
        
End Sub
 
Laatst bewerkt:
Uit je code leidt ik af dat de aktieve cel in ieder geval in kolom 21 staat, maar ik vermijd liever relatieve aanduidingen in VBA-code
Code:
Sub Macro1()
   application.calculation=xlmanual
   application.screenupdating =false
   with sheets(1).cells(1,21)
     .value="=IF(MONTH(RC[-20])=MONTH(MAX(C[-20])),1,2)"
     .resize(sheets(1).cells(rows.count,21).end(xlup).row).filldown
   end
   application.calculation=xlautomatic
   application.screenupdating =true
End Sub
 
Laatst bewerkt:
Gaat om kolom 52, maar dat kon jij niet weten.
Kreeg de foutmelding dat hij een end with verwachte, dus dat heb ik nog even aangepast.
Simpele en doeltreffende aanpassing, krijg nu niet eens de kans om koffie te drinken.

Super bedankt !!


Code:
Sub Macro1()
   application.calculation=xlmanual
   application.screenupdating =false
   with sheets(1).cells(1,[COLOR="Red"]52[/COLOR])
     .value="=IF(MONTH(RC[-20])=MONTH(MAX(C[-20])),1,2)"
     .resize(sheets(1).cells(rows.count,[COLOR="red"]52[/COLOR]).end(xlup).row).filldown
   end [COLOR="red"]with[/COLOR]
   application.calculation=xlautomatic
   application.screenupdating =true
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan