View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Steven Drenker[_7_] Steven Drenker[_7_] is offline
external usenet poster
 
Posts: 2
Default Enter Text in Cell on Click

I want to be able to do the following:
1. Click in a cell inside a named range ("DNS_zones_selection") and have "x"
entered into the clicked cell.
2. If the cell already has an entry, it should be erased.
3. You should be able to toggle the cell contents on and off by repeatedly
clicking on the same cell without clicking another cell.

The following code meets #1 and #2 above as long as you click in the target
cell, then click outside the target cell, then click back in the target
cell.

Is there a way to achieve all three goals without having to first click
outside the range?


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If InRange(Target, Range("DNS_zones_selection")) Then
Select Case Target.Text
Case ""
Target.Value = "x"
Case Else
Target.Value = ""
End Select
End If
End Sub

Private Function InRange(rng1, rng2) As Boolean ' courtesy John Walkenbach,
"Excel 2000 Power Programming," Ch. 11, "in range.xls"
' Returns True if rng1 is a subset of rng2
InRange = False
If rng1.Parent.Parent.Name = rng2.Parent.Parent.Name Then
If rng1.Parent.Name = rng2.Parent.Name Then
If Union(rng1, rng2).Address = rng2.Address Then
InRange = True
End If
End If
End If
End Function