View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 6,953
Default wher to put the code

Just to add to Bob's reply, I would suspect you would have a good probability
of finding the activecell, so you probably would want to alter findcell to
avoid that if you used this approach or change the search range not to
include the column or row where you enter the search string.

--
Regards,
Tom Ogilvy


"Bob Phillips" wrote:

The problem that you have is that the macro has an argument, sSearchString.

You could change it to pick up the text in the active cell, put myWord in
the cell and then run

Sub MoveCell()
Dim cell As Range
Set cell = FindCell(Activecell.Value, Sheets(1).Cells)
If cell Is Nothing Then
'action to take of no match
Else
cell(0, -1).Value = cell.Value
End If
End Sub


--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)



wrote in message
oups.com...
This code looks like what I want to accomplish. I thought I could put
it in as a module and then run it from the macro toolbar, but I'm
obviously wrong. Sorry I'm a noob. Where do I put this?

Usage: MoveCell("myword")

Sub MoveCell(ByVal sSearchString As String)
Dim cell As Range
Set cell = FindCell(sSearchString, Sheets(1).Cells)
If cell Is Nothing Then
'action to take of no match
Else
cell(0, -1).Value = cell.Value
End If
End Sub

Function FindCell(searchFor As String, _
searchRange As Range) As Range

Application.DisplayAlerts = False
With searchRange

Set FindCell = .Find(what:=searchFor, After:=.Cells(.Cells.Count),
_
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)

End With
End Function