View Single Post
  #10   Report Post  
Posted to microsoft.public.excel.programming
Piotr Lipski Piotr Lipski is offline
external usenet poster
 
Posts: 36
Default How do you refer to empty cells in coding?

On Thu, 22 Jun 2006 11:41:02 -0500, Turquoise_dax wrote:

I did
n(cell.Value) = 0 Then cell.Offset(0, 1).Interior.Pattern =
xlPatternGray8

It works, but the program is jamming for a long time, often I get the
"not responding messge"

If I get rid of this line, the code works just fine....
(Any idea why excel has trouble processing this one?)


Formatting multiple cells this way is very inefficient for large amountsd
of data. If you want to get rid of "Not reponding" behaviour, execute
DoEvents every 10 or 100 iterations.
This won't speed up the process (in fact, it will slow down it).

If you want to go REALLY fast, try to:

- insert a column
- put consecutive numbers to that column (to store the original order of
rows)
- sort table using the "conditional" column
- format ALL the neccessary cells in ONE instruction (well, you'll have to
find the first and the last cell in a block)
- sort the table back to get the original order
- remove the "sorting" column

This works fine for me, I have really huge tables to format (more that 20k
rows, more than 20 cols) and multiple autoformatting using this method
takes less than a second.

--
PL