View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Mike H Mike H is offline
external usenet poster
 
Posts: 11,501
Default Delete Corresponding Cell Using ByVal

oops,

an error, try this instead

Private Sub Worksheet_Change(ByVal Target As Range)
Dim LastRowC As Long, LastRowE As Long
If Target.Cells.Count 1 Or IsEmpty(Target) Then Exit Sub
LastRowC = Cells(Cells.Rows.Count, "C").End(xlUp).Row
LastRowE = Cells(Cells.Rows.Count, "E").End(xlUp).Row
If Not Intersect(Target, _
Range("C4:C" & LastRowC, "E4:E" & LastRowE)) Is Nothing Then
Application.EnableEvents = False
If Target.Column = 3 Then Target.Offset(, 2).ClearContents
If Target.Column = 5 Then Target.Offset(, -2).ClearContents
Application.EnableEvents = True
End If
End Sub
--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.


"Mike H" wrote:

Hi,

Right click your sheet tab, view code and paste this in.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim LastRowC As Long, LastRowE As Long
If Target.Cells.Count 1 Or IsEmpty(Target) Then Exit Sub
LastRowC = Cells(Cells.Rows.Count, "C").End(xlUp).Row
LastRowE = Cells(Cells.Rows.Count, "A").End(xlUp).Row
If Not Intersect(Target, _
Range("C4:C" & LastRowC, "E4:E" & LastRowE)) Is Nothing Then
Application.EnableEvents = False
If Target.Column = 3 Then Target.Offset(, 2).ClearContents
If Target.Column = 5 Then Target.Offset(, -2).ClearContents
Application.EnableEvents = True
End If
End Sub

--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.


"David" wrote:

I have two columns of data in C & E. C is for a dollar amount, E is for a
percentage amount. Only ONE of the columns can have data at a time. I'm
trying to set up a ByVal on the sheet so that if data is entered in column C,
the data in the corresponding cell in column E would automatically be deleted
and vice versa. The range right now is C4:C22 and E4:E22, but could be
expanded (I can make that change manually, but it would be nice to have the
ranges be named to so when changes are made, no change to the code is
necessary.
I have the ByVal code with a range, but don't know how to set up the code to
delete the corresponding cell value. I would appreciate help with this.

David