Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() 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 |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() 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 |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
an I get a cell value throught posted hyperlink to another excel s | Excel Worksheet Functions | |||
delete a - if it is the last part of a string | Excel Discussion (Misc queries) | |||
Search/Match/Find ANY part of string to ANY part of Cell Value | Excel Worksheet Functions | |||
Searcing foran Excel event fired. | Excel Worksheet Functions | |||
repost: searcing multi excel files... | Excel Programming |