View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Range - selecting multiple cells

You can use union since you are getting references to the found cells (the
variable c)

sub findtheperson()
dim WS as worksheet
Dim c as Range, rng as Range
dim sname as string, firstaddress as String
dim Cnt as Long
Cnt=0
set WS=Worksheets("Sheet1")

Dim rng as Range
sname=LCase(Inputbox("Enter the name to Select: "))
With WS.Cells
set c = .Find(sname,Lookin:=xlValues)
If Not c Is Nothing Then
firstaddress=c.address
Do
Cnt=Cnt+1
if rng is nothing then
set rng = c
else
set rng = Union(rng,c)
end if
Set c= .FindNext(c)
Loop While Not c Is Nothing And c.address < firstaddress
rng.Select
End If

MsgBox "The Name selected: "& sname &", Name Count: " & Cnt
End With
End sub

--
Regards,
Tom Ogilvy

"gr8guy" wrote in message
...
Hi,

does anybody know through VBA how to select mutliple cells in different
columns & rows together. the manual method is to press cntrl key & click

the
cells.

the code i have written asks for a text input to search similar

text(names)
spread in different columns & rows in a worksheet & gives the count for

the
no. of names found.

sub findtheperson()
dim WS as worksheet
set WS=Worksheets("Sheet1")
dim sname as string
dim Cnt as Long
Cnt=0

With WS
sname=LCase(Inputbox("Enter the name to Count: "))
With WS.Range("a1:iv65536")
set c = .Find(sname,Lookin:=xlValues)
If Not c Is Nothing Then
firstaddress=c.address
Do
Cnt=Cnt+1
' Cells.SpecialCells(xlCellTypeConstants).Select
Set c= .FindNext(c)
Loop While Not c Is Nothing And c.address < firstaddress
End If
MsgBox "The Name selected: "& sname &", Name Count: " & Cnt
End With
End With
End sub

This just finds the count of the no of occurences of the similar names in
the worksheet, but does not do a multi-select. Can use ColorIndex property
to color code the found names, but donot want to do that, instead do a
multi-select. Cant use SpecialCells property as it selects all names on

the
sheet & also cannot use Union Method as it requires the more than 1 ranges
to be defined. like mymultiRange=Union(Range1,Range2,....)

Any ideas?????????

Rgds,

Eijaz