Re: A question relating to "for each cell_in_loop in range"
From: Tom Ogilvy (twogilvy_at_msn.com)
Date: 02/23/05
- Next message: Tom Ogilvy: "Re: Filter in macro"
- Previous message: anonymous_at_discussions.microsoft.com: "Find Variant"
- In reply to: David F. Schrader: "A question relating to "for each cell_in_loop in range""
- Next in thread: paul.robinson_at_it-tallaght.ie: "Re: A question relating to "for each cell_in_loop in range""
- Messages sorted by: [ date ] [ thread ]
Date: Wed, 23 Feb 2005 09:17:19 -0500
ExitLine = 2000
For each cell_in_loop In Range("H2:H2000")
If (cell_in_loop.Offset(0, -7).Value = "EOList") Then
ExitLine = Cells_In_Loop.Row - 1
Exit For
End If
: Lengthy list of instructions
Next
MsgBox "Exited after line " & ExitLine
would be my guess.
--
Regards,
Tom Ogilvy
"David F. Schrader" <schrader@acns.fsu.edu> wrote in message
news:uBsEiEbGFHA.3244@TK2MSFTNGP15.phx.gbl...
> I realize this is a somewhat more advance question while at the
> same time somewhat simple. At the same time my problem has to
> do with a rather bizarre.. well, let me describe the situation.
>
> Given
> ExitLine = 2000
> For each cell_in_loop In Range("H2:H2000")
> If (cell_in_loop.Offset(0, -7).Value = "EOList") Then
> ' ExitLine = ' ?? <------- This is where the problem arises
> Exit For
> End If
> : Lengthy list of instructions
> Next
> MsgBox "Exited after line " & ExitLine
>
> As you can see, this is, quite simply put, a straight forward,
> "for...next" loop with no real "gotcha's" beyond a more-or-less
> straight forward "get out early" clause which is also quite
> straight forward.
>
> I can know, with a fair degree of certainty that if the "loop
> runs to the end" I have 2000 (or more) lines of data. Here's
> where I've run into the problem. I haven't been able to find
> a way to find out where I leave the loop, when I leave the
> loop, early. I know there must be a way and I'm sure it's
> quite simple, but for the life of me it's escaping me.
>
> I've tried toying around with the internals of the "offset"
> using "application.row()" but the compiler complains and
> when I can get it to a run-able state it blows up as soon
> as it hits that line.
>
> I've tried counters but that got too convoluted to be
> cleanly implemented (since the columns might have to
> be sorted from time-to-time) and "EOList" may move to
> a different place. (And the code was **** crack ugly"
> and too hard to hard to read as well. The understanding
> or comprehension required a brain-damaged chimp with a
> Ph.D in some obscure language no one has spoken for ten
> million years. I'd like to leave code that the next guy
> could "fix," if he had too, without boiling me in VR oil
> each time he had to do a "fix.")
>
> I tried some C++ routines but it was too easy to get lost
> between the "external calls" to be certain I was really
> certain that what I was getting was a correct value. (I
> mean it "looked right" but it "looked wrong" too.)
>
> So, I'll entertain all suggestions on how I can find out that
> when I find "EOList" that the last line of usable data was:
> "Row() - 1?"
>
> Looking forward to good ideas.
>
>
> David
>
> (Newsgroups have *never* failed me in the past and I the idea
> of them doing so now is "inconceivable." I can't even picture
> the idea of them doing so now. - With slight credit to "The
> Brute" in "The Princess Bride")
>
>
>
>
- Next message: Tom Ogilvy: "Re: Filter in macro"
- Previous message: anonymous_at_discussions.microsoft.com: "Find Variant"
- In reply to: David F. Schrader: "A question relating to "for each cell_in_loop in range""
- Next in thread: paul.robinson_at_it-tallaght.ie: "Re: A question relating to "for each cell_in_loop in range""
- Messages sorted by: [ date ] [ thread ]