If blank cell continue macro

B

Beep Beep

I have a column with dates in it and I am running the following macro:

Sub colr()


Range("e2").Select
Do
If Now - ActiveCell.Value > 30 Then
ActiveCell.Interior.ColorIndex = 3
ElseIf ActiveCell.Value > Now Then
ActiveCell.Interior.ColorIndex = 34
End If
ActiveCell.Offset(1, 0).Select
If ActiveCell = "" Then
Exit Do
End If
Loop Until ActiveCell.Value = " "
End Sub

Macro runs fine, however it stops when it comes to a blank cell or a cell
with a question mark (?) in it. How can I change this macro to bypass if the
above occurs.

I actually want it to run until it gets to the bottom of the column and hits
a blank cell there and then stops.

Thanks
Frank
 
R

Ron de Bruin

Test this one (untested)

It will loop through A1 till the last cell with data in A
If the value in the cell is a date it do your stuff

Sub test()
Dim lr As Long
Dim cell As Range

With ActiveSheet
lr = .Cells("A", Rows.Count).End(xlUp).Row

For Each cell In .Range("A1:A" & lr)
If IsDate(cell) Then

If Now - cell.Value > 30 Then
cell.Interior.ColorIndex = 3
ElseIf cell.Value > Now Then
cell.Interior.ColorIndex = 34
End If

End If
Next cell
End With

End Sub
 
D

Don Guillett

One way, depending on what you want with blanks & "?"
Sub changecolorif()
lr = Cells(Rows.Count, "e").End(xlUp).Row
For Each c In Range("e12:e" & lr)
c.Interior.ColorIndex = xlNone
If Date - c > 30 Then x = 3
If c > Date Then x = 34
c.Interior.ColorIndex = x
Next c
End Sub
 
B

Beep Beep

Thanks Guillett

It stops at the first blank. Any suggestions. I want it to continue on and
stop at the last cell (next cell would be blank)

Frank
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top