View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default Help with optimization

Maybe you could just combine the ranges and clear once?

With TempList
.Range("A20:K3019,M20:W3019,Y20:AC51").Value = ""
end with

(add as many addresses as you want while you're testing.

theSquirrel wrote:

I have some very simple code that takes forever to complete, below it
the sub:

With TempList
.Range("A20:K3019").Value = ""
.Range("M20:W3019").Value = ""
.Range("Y20:AC51").Value = ""
.Range("AE20:AJ119").Value = ""
.Range("AL20:AO518").Value = ""
.Range("AQ20:AT518").Value = ""
.Range("AV20:AV69").Value = ""
.Range("AX20:BA519").Value = ""
.Range("BC20:BD519").Value = ""
.Range("BF20:BG519").Value = ""
.Range("BI20:BJ519").Value = ""
.Range("BL20:BM519").Value = ""
.Range("BO20:BU519").Value = ""
.Range("BW20:CC519").Value = ""
.Range("CE20:CK51").Value = ""
End With

The first 2 lines of the delete the contents of a very large area of
cells. Each of those lines takes 1.6 seconds, the rest take near no
time. I have tried obviously '.Value = "" ' and '.ClearContents'.
Both take the same amount of time. I have also tried turning
calculation to manual before that work is done.

I am wondering if there is anything I can do to make that work a bit
faster.

theSquirrel


--

Dave Peterson