If Target="" error

O

Otto Moehrbach

Excel 2002, Win XP
I have a short WorkSheet_Change macro as below:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("F29:J29", "F93")) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
'Call a macro
End Sub

I'm getting a Type Mismatch error on:
If Target = "" Then Exit Sub
and only the 'If Target="" Then' is highlighted

I think I've done this before without the error. Maybe I'm thinking of a
regular macro.
What I want to do is Exit Sub if Target is blank.
Where did I go wrong?
Thanks for your help. Otto
 
T

Tom Ogilvy

Either:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.count > 1 then exit sub
If Intersect(Target, Range("F29:J29", "F93")) Is Nothing Then Exit Sub
If isempty(Target) Then Exit Sub
'Call a macro
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 then exit sub
If Intersect(Target, Range("F29:J29", "F93")) Is Nothing Then Exit Sub
If len(trim(Target)) = 0 Then Exit Sub
'Call a macro
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.count > 1 then exit sub
If Intersect(Target, Range("F29:J29", "F93")) Is Nothing Then Exit Sub
If Target.Text = "" Then Exit Sub
'Call a macro
End Sub


If you want to process a multi cell area for Target, then you will have to
add code to specifically deal with that.

Range("A1").Resize(2,1) = ""

will raise a type mismatch error since you are comparing an array to a
string.
 
O

Otto Moehrbach

Tom
What you pointed out seems so obvious once I see it. Thanks for the
help, as always. Otto
 

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