View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Run-time error 1004 on variable

Dim rng as Range
set rng = Wrks1.Range("LaborDBDW")
for i = rng.row to Entries + 25


if you put row on a multicell range, it returns the row of the first cell in
the range

if you want the last row

msgbox rng.rows(rng.rows.count).Row

I just set rng to Wrks1.Range("LaborDBDW") to save typing. You can use it
directly.

If you really want to loop through that range

for each cell in Wrks1.Range("LaborDBDW")
msgbox cell.Value & " - " & cell.Address(0,0) & " - " & cell.row
Next

as an example.

--
regards,
Tom Ogilvy



"Casey" wrote in
message ...

Tom & Jim,
Exactly the solution. I'm just staring to get the hang of looping with
variables and I make elementry mistakes constantly. Your prescription
cured my OP but revealed another problem with the routine. If I could
ask a follow up question?

The line I use to define Entries;
Entries = Excel.WorksheetFunction.CountA(Wrks1.Range("LaborD BDW"))
contains a name range ("LaborDBDW") that gets moved up and down because
of Rows being inserted and deleted above it on the worksheet (might be
Rows 15-35 one time and Rows 14-34 the next time). However, when the
macro runs it picks up at Row 6 which is definately outside
("LaborDBDW"). Could I name the row at the top of ("LaborDBDW") and
use that in the For i = 1 To Entries + 25 somehow so it stars reading
info in the correct place?


--
Casey


------------------------------------------------------------------------
Casey's Profile:

http://www.excelforum.com/member.php...fo&userid=4545
View this thread: http://www.excelforum.com/showthread...hreadid=537003