View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Counting blanks in range using VBA Offset

No, resize does not do that. If you have done

Insert=Name=Define
Name: = PasteStartCell
Refersto: whatever

then this will not change the definition of PasteStartCell - it will just
use it as an anchor:

Numblanks =
Application.WorksheetFunction.CountBlank(Range("Pa steStartCell").Offset(6553
5,1))

would be a single column from row 2 to row 65536

if you want the entire row

Numblanks =
Application.WorksheetFunction.CountBlank(Range("Pa steStartCell" _
).Offset(65535,1).EntireRow)





"ExcelMonkey" wrote in message
...
But does resize permanently change the range behind the name

PastCellStart?
I use this name elsewhere in my code and do not want to change the range
definition behind that name. If it does, I will not be able to use it.



"Tom Ogilvy" wrote:

You can't offset 65535 rows from row 2 since offset is zero based.

? range("A2").Offset(65534,0).Address
$A$65536


What you want is resize

Numblanks =

Application.WorksheetFunction.CountBlank(Range(Pas teStartCell.Resize(65535,1
)))

--
Regards,
Tom Ogilvy


"ExcelMonkey" wrote in message
...
I know how to define a range using Excel's Offset function

(OFFSET(Rows,
Columns, Height, Width))

But how do I do it using the VBA Offset function. It only includes
(OFFSET(Rows, Columns)).

I am trying to count the blank cells betwee rows 2 and rows 65236 on a
sheet. Row 2 is named PasteStartCell. I think the use below does not

define
a range between row 2 and row 65536. It simply defines row 65536 as I

am
offsetting row 2 by 65535 additional rows. How do I make it refer to

the
range itself. Note I do not what to select the range and it cannot

include
row 1

Numblanks =


Application.WorksheetFunction.CountBlank(Range(Pas teStartCell.Offset(65535,0
)))

Thanks