Thread: Macros
View Single Post
  #7   Report Post  
Posted to microsoft.public.excel.programming
Patrick Molloy Patrick Molloy is offline
external usenet poster
 
Posts: 1,049
Default Macros

this is a VB default - its "coercion" -- if there's nothing in a cell , then
by coercion its value is zero
.....kind of logical really.
I'd rather use
IF Range("E1").Value = "" Then
or
IF IsNull(Range("E1").Value) Then




"Rick Rothstein" wrote in message
...
On the active sheet, identify a cell with absolutely nothing in it (let's
say that cell is E1) then go to the Immediate window in the VB editor and
execute this line...

? Range("E1").Value = 0

Notice the response is True even though the cell does not have a 0 value
in it (as the OP stated is the condition that needs to be met).

--
Rick (MVP - Excel)


"Bob Bridges" wrote in message
...
Now, I've been writing in VBA for Excel only a few years myself so I ask
in
ignorance. But if we already know CellObj.Value = 0, what point can
there be
in also asking whether CellObj.Value < "" or Not IsEmpty(CellObj)?
Doesn't
the first test tell us everything we need to know? Seems to me the two
lines
I've commented out below are simply wasted space. What am I missing?

--- "JLGWhiz" wrote:
Sub delZeros()
lr = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
For i = lr To 2 Step -1
With ActiveSheet
If .Range("B" & i).Value = 0 _
' And .Range("B" & i).Value < "" _
' And Not IsEmpty(.Range("B" & i)) _
Then .Rows(i).Delete
End With
Next i
End Sub

--- "TSVillanova"
I am new a writing macros and am having a problem
writing one that will let me delete all rows that have a
0 value in cells of column "B" while leaving all of the
other rows with cells that have values and are blank.