Confirm Empty Cells in a Range

R

RyanH

I have confirmed that Range("B10") Interior Color Index is = 50 and the Range
I am including in the If...Then Statement is empty, but when I run this
portion of code the MsgBox does not appear, it executes the Else portion of
the If...Then, Why? Any suggestions would be greatly appreciated.

'removes all jobs on quote sheet
If Range("B10").Interior.ColorIndex = 50 And
IsEmpty(Range("C1:D3,C5:G8,G1:H3")) = True Then

MsgBox "You don't have anything to delete on your quote sheet.",
vbCritical
Exit Sub

Else

'clears contents of customer information
Range("C1:D3,C5:G8,G1:H3").ClearContents

'clears all quotes
For n = 10 To 200
If Cells(n, 2).Interior.ColorIndex = 50 Then
LastRow = Cells(n, 2).Row - 1
Exit For
End If
Next n

FirstRow = Range("B10").Row
Rows(FirstRow & ":" & LastRow).Delete Shift:=xlUp

End If

Thanks in Advance,
Ryan
 
G

Gary''s Student

Isempty() is usually used on variants. Something like:

Range("A1").value

So your code is actually working - but its not checking the values in the
cells, its checking if the Range is empty.

In any case you should decide if you want the True path to be taken if ANY
cell in the range is empty or if ALL the cells in the range are empty.
 
R

RyanH

I want it to check if all the cells are empty. Is that possible with what i
have or do I try to go about it another way?

Thanks
Ryan
 
G

Gary''s Student

How about a loop??:

Sub ryan()
AreTheyAllEmpty = True
Set r = Range("C1:D3,C5:G8,G1:H3")
For Each rr In r
If IsEmpty(rr.Value) Then
Else
AreTheyAllEmpty = False
End If
Next
End Sub
 

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