View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Vacation's Over Vacation's Over is offline
external usenet poster
 
Posts: 279
Default If Range Variable isn't Empty

seems you are trying to define Divs as a range of non-contiguous cells

I would think that you need to step through activitytype

dim myCell as range

For each myCell in ActivityType
if myCell.value = "" then mycell.entireRow.ClearContents
next myCell

this will leave blank lines - If you want rows removed then you need to
start at the bottom of the ActivityType range and step - 1 so that row
deletions do not crash the row counting



"achidsey" wrote:

Excel Experts,

In my code, I want to delete certain rows if they have certain characters in
a cell in a certain column.

My spreadsheet and code are similar to the following:

A B
1 Symbol Activity Type
2 AGEN Buy
3 IBM Div
4 DELL Sell
5 HWP Qmi
6 AGEN Buy

The code is supposed to work by changing any entries of "Div" or "Qmi" to a
blank, and then deletes the rows with a blank. I tried to set it up to do
nothing if there aren't any Div or Qmi entries, but the code does nothing
even when there ARE Div or Qmi entries. I don't believe the IsEmpty function
is the one I need or I am using it wrong.

Pls. advise how to indicate that if the range variable Divs does reference
cells, to do something.


Cells.Find(What:="Activity Type").Select
Range(Selection, Selection.End(xlDown)).Select

Application.DisplayAlerts = False
On Error Resume Next

Set ActivityType = Selection

ActivityType.Replace What:="Div", Replacement:=""

ActivityType.Replace What:="Qmi", Replacement:=""

Set Divs = ActivityType.SpecialCells(xlCellTypeBlanks)

If IsEmpty(Divs) = False Then

Divs.EntireRow.Delete

End If

Thank you,
Alan


--
achidsey