ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Find the next Cell with interior color using Do Until...Loop (https://www.excelbanter.com/excel-programming/407297-find-next-cell-interior-color-using-do-until-loop.html)

RyanH

Find the next Cell with interior color using Do Until...Loop
 
I need a macro to scan down Col. B from the ActiveCell to find the next cell
that is hightlighted orange ( .Interior.ColorIndex = 40). Here is what I
got, but it does not seem to work.

Sub FindLastRow()

Dim LastRow As Long
Dim i As Long

Do
For i = ActiveCell.Row To ActiveCell.Row + 30
LastRow = Cells(i, 2).Row
Next i
Loop Until Cells(i, 2).Interior.ColorIndex = 40

MsgBox "LastRow = " & LastRow

End Sub

Thanks in Advance,
Ryan

Gary''s Student

Find the next Cell with interior color using Do Until...Loop
 
Sub ryan()
Set r = Range(ActiveCell.Address & ":B65536")
For Each rr In r
If rr.Interior.ColorIndex = 40 Then
MsgBox (rr.Row)
Exit Sub
End If
Next
End Sub

--
Gary''s Student - gsnu200772

Mike H

Find the next Cell with interior color using Do Until...Loop
 
Possible

Sub FindLastRow()
Dim LastRow As Long
Dim i As Long
For i = ActiveCell.Row To 65536
If Cells(i, 2).Interior.ColorIndex = 40 Then
MsgBox Cells(i, 2).Address
Exit Sub
End If
Next
End Sub

Mike

"RyanH" wrote:

I need a macro to scan down Col. B from the ActiveCell to find the next cell
that is hightlighted orange ( .Interior.ColorIndex = 40). Here is what I
got, but it does not seem to work.

Sub FindLastRow()

Dim LastRow As Long
Dim i As Long

Do
For i = ActiveCell.Row To ActiveCell.Row + 30
LastRow = Cells(i, 2).Row
Next i
Loop Until Cells(i, 2).Interior.ColorIndex = 40

MsgBox "LastRow = " & LastRow

End Sub

Thanks in Advance,
Ryan


RyanH

Find the next Cell with interior color using Do Until...Loop
 
Thanks for the responses. I failed to mention that this macro is actually
only a small part of a larger macro. I need to only exit the loop, not exit
the sub. Is this possible?

Thanks
Ryan

"Mike H" wrote:

Possible

Sub FindLastRow()
Dim LastRow As Long
Dim i As Long
For i = ActiveCell.Row To 65536
If Cells(i, 2).Interior.ColorIndex = 40 Then
MsgBox Cells(i, 2).Address
Exit Sub
End If
Next
End Sub

Mike

"RyanH" wrote:

I need a macro to scan down Col. B from the ActiveCell to find the next cell
that is hightlighted orange ( .Interior.ColorIndex = 40). Here is what I
got, but it does not seem to work.

Sub FindLastRow()

Dim LastRow As Long
Dim i As Long

Do
For i = ActiveCell.Row To ActiveCell.Row + 30
LastRow = Cells(i, 2).Row
Next i
Loop Until Cells(i, 2).Interior.ColorIndex = 40

MsgBox "LastRow = " & LastRow

End Sub

Thanks in Advance,
Ryan


Gary''s Student

Find the next Cell with interior color using Do Until...Loop
 
For either Mike's code or my code use:
Exit For
in place of:
Exit Sub
--
Gary''s Student - gsnu200772


"RyanH" wrote:

Thanks for the responses. I failed to mention that this macro is actually
only a small part of a larger macro. I need to only exit the loop, not exit
the sub. Is this possible?

Thanks
Ryan

"Mike H" wrote:

Possible

Sub FindLastRow()
Dim LastRow As Long
Dim i As Long
For i = ActiveCell.Row To 65536
If Cells(i, 2).Interior.ColorIndex = 40 Then
MsgBox Cells(i, 2).Address
Exit Sub
End If
Next
End Sub

Mike

"RyanH" wrote:

I need a macro to scan down Col. B from the ActiveCell to find the next cell
that is hightlighted orange ( .Interior.ColorIndex = 40). Here is what I
got, but it does not seem to work.

Sub FindLastRow()

Dim LastRow As Long
Dim i As Long

Do
For i = ActiveCell.Row To ActiveCell.Row + 30
LastRow = Cells(i, 2).Row
Next i
Loop Until Cells(i, 2).Interior.ColorIndex = 40

MsgBox "LastRow = " & LastRow

End Sub

Thanks in Advance,
Ryan



All times are GMT +1. The time now is 11:04 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com