ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Searcing throught using part of string (https://www.excelbanter.com/excel-programming/337589-searcing-throught-using-part-string.html)

bundyloco[_4_]

Searcing throught using part of string
 

Hello

I want to determine the size of the range of data to loop through
before I use the values to fill an array. Basically, I will start at
row 1 and loop until I find a cell in column A that says "Run Rate data
is from from customer for week" the problem is that I can't use that
entire statment becuase the week number changes from week to week.

But if I could just tell it to loop unti it find the beginning of the
string, I think that would work. Here is what I have, but it's not
working.


prodcntr = 0
For prodcntr = 1 To findrange
Left(Worksheets("Schedule").Cells(prodcntr,1).Valu e, 8) = "Run Rate"))
If Worksheets("Schedule").Cells(prodcntr, 2) < "" And
Worksheets("Schedule").Cells(prodcntr, 2) 0 Then
prodlgnth = prodlgnth + 1

End If

Next prodcntr

ReDim prodarray(6, prodlgnth)

prodlgnth = 0


and from here it goes on to fill and array and compare the values of
the array with values on another worksheet. Any suggestions? I would
like to do something like this to make the program more dynamic,
therefore it would be able to handle new products in the future as they
are added.


--
bundyloco
------------------------------------------------------------------------
bundyloco's Profile: http://www.excelforum.com/member.php...o&userid=23386
View this thread: http://www.excelforum.com/showthread...hreadid=396742


Jim Cone

Searcing throught using part of string
 
b,

There are as many ways to do this as there are people contributing
to this newsgroup. This is just one way and somewhat resembles
your approach...
'----------------------

Sub Testing()
Dim prodCntr As Long
Dim rngFind As Excel.Range
Set rngFind = Cells(1, 1)

Do
If Left$(rngFind, 8) = "Run Rate" Then
Exit Do
Else
Set rngFind = rngFind(2, 1)
End If
Loop Until rngFind.Row = 1000 ' or whatever

prodCntr = rngFind.Row
MsgBox prodCntr
Set rngFind = Nothing
End Sub
'----------------------------

Jim Cone
San Francisco, USA


"bundyloco"

wrote in message


Hello
I want to determine the size of the range of data to loop through
before I use the values to fill an array. Basically, I will start at
row 1 and loop until I find a cell in column A that says "Run Rate data
is from from customer for week" the problem is that I can't use that
entire statment becuase the week number changes from week to week.
But if I could just tell it to loop unti it find the beginning of the
string, I think that would work. Here is what I have, but it's not
working.

prodcntr = 0
For prodcntr = 1 To findrange
Left(Worksheets("Schedule").Cells(prodcntr,1).Valu e, 8) = "Run Rate"))
If Worksheets("Schedule").Cells(prodcntr, 2) < "" And
Worksheets("Schedule").Cells(prodcntr, 2) 0 Then
prodlgnth = prodlgnth + 1
End If
Next prodcntr

ReDim prodarray(6, prodlgnth)

prodlgnth = 0

and from here it goes on to fill and array and compare the values of
the array with values on another worksheet. Any suggestions? I would
like to do something like this to make the program more dynamic,
therefore it would be able to handle new products in the future as they
are added.
--
bundyloco


bundyloco[_5_]

Searcing throught using part of string
 

Thanks for the reply. I tried the code, but it it only gives me
rngFind=1000 on the message box. I'll keep working with it. Also, what
is the else statement doing? I'm still learning VBA and am at the point
where I'm more dangerous than effective.


--
bundyloco
------------------------------------------------------------------------
bundyloco's Profile: http://www.excelforum.com/member.php...o&userid=23386
View this thread: http://www.excelforum.com/showthread...hreadid=396742


Jim Cone

Searcing throught using part of string
 
b.

The code is not finding the text before it gets to row 1000.
The 1000 is an arbitrary limit. It just prevents the code from
going thru all 65000 rows. Change it to whatever is appropriate.
Also make sure the search text is correct. It looks at the first
8 characters in the cell to see if they match exactly to "Run Rate".

The Else statement moves the cell down one row each time the
text is not found. It keeps doing that until the "limit" is reached.

Jim Cone
San Francisco, USA


"bundyloco"

wrote in message


Thanks for the reply. I tried the code, but it it only gives me
rngFind=1000 on the message box. I'll keep working with it. Also, what
is the else statement doing? I'm still learning VBA and am at the point
where I'm more dangerous than effective.
--
bundyloco


All times are GMT +1. The time now is 10:39 AM.

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