ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Looking for a value using FIND and WHAT (https://www.excelbanter.com/excel-programming/337901-looking-value-using-find-what.html)

mozart[_2_]

Looking for a value using FIND and WHAT
 

I am trying to write some code that will search a workbook for a valu
given a string. Naturally I am using "Cells.Find(What:=.....". Howeve
I need my search string to have a number that is incremented on eac
loop and hence I wanted to put my search string into a variable.

Unfortunately if I specify the variable after the 'what:' it throws u
an error. How can i get around this?

----------------------------------------------------------------

Sub Dates()
Dim Grand As String

For N = 1 To 47

Grand = "Grand Total" & N

Cells.Find(What:=Grand, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows
SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate

ActiveCell = Format(WeekStartDate, "D-MMM")

Next N

End Su

--
mozar
-----------------------------------------------------------------------
mozart's Profile: http://www.excelforum.com/member.php...fo&userid=1331
View this thread: http://www.excelforum.com/showthread.php?threadid=39767


Rowan[_2_]

Looking for a value using FIND and WHAT
 
Using a variable in the What statement shouldn't cause an error but you will
get an error if the string you are searching for is not found. You can
prevent by changing your code to set a range = to the cell if it is found:

Sub Dates()
Dim Grand As String
Dim n As Integer
Dim weekStartDate As Date
Dim fndCell As Range

weekStartDate = Date '<< Change
For n = 1 To 47
Grand = "Grand Total" & n

Set fndCell = Cells.Find(What:=Grand)

If Not fndCell Is Nothing Then
fndCell = Format(weekStartDate, "D-MMM")
End If
Next n

End Sub

Hope this helps
Rowan

"mozart" wrote:


I am trying to write some code that will search a workbook for a value
given a string. Naturally I am using "Cells.Find(What:=.....". However
I need my search string to have a number that is incremented on each
loop and hence I wanted to put my search string into a variable.

Unfortunately if I specify the variable after the 'what:' it throws up
an error. How can i get around this?

----------------------------------------------------------------

Sub Dates()
Dim Grand As String

For N = 1 To 47

Grand = "Grand Total" & N

Cells.Find(What:=Grand, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate

ActiveCell = Format(WeekStartDate, "D-MMM")

Next N

End Sub


--
mozart
------------------------------------------------------------------------
mozart's Profile: http://www.excelforum.com/member.php...o&userid=13314
View this thread: http://www.excelforum.com/showthread...hreadid=397676




All times are GMT +1. The time now is 02:54 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com