ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Is it possible to create variables in a loop.. (https://www.excelbanter.com/excel-programming/352344-possible-create-variables-loop.html)

shishi

Is it possible to create variables in a loop..
 
Hi all,
I failed to figure this out. I am trying to go through about 300 rows
and generate some array of data.I am not interested in all the rows.
Say, I am interested in around 100 rows. Based on some condition I
select these 100 rows and transpose them and save them to a varaible
for further processing. I am doing this in a loop. I wish generate the
variable names, declare them and assign them a value. All these I need
to do in a loop. Could u please suggest..Thanks to all in advance..

Dim DutArray as Varaint
Dim I as Integer
Dim mCell as Range

For I = 1 To 300
Set mCell =
ThisWorkbook.Sheets("SPECS").Range("START_SPEC").O ffset(I, 1)
DutArray = Application.Transpose(Range(mCell,
mCell.End(xlToRight)))

If DutArray(3, 1) = 1 Then

GoTo PROCESSDUT
End If
If DutArray(2, 1) = 1 Then

Here I wish to save the DutArray on to a new variable..
like DUT1, DUT2, DUT3, DUT4 etc...
How can I declare these variables here and then assign some value to
it.?
something like
set "DUT" & I = DutArray

End If
Next

shishi


Tom Ogilvy

Is it possible to create variables in a loop..
 
That isn't supported. That is why you use arrays. The alternative is to
declare all those variables individually and then put in a line of code for
each variable in which you assign it a value

--
Regards,
Tom Ogilvy


"shishi" wrote in message
ups.com...
Hi all,
I failed to figure this out. I am trying to go through about 300 rows
and generate some array of data.I am not interested in all the rows.
Say, I am interested in around 100 rows. Based on some condition I
select these 100 rows and transpose them and save them to a varaible
for further processing. I am doing this in a loop. I wish generate the
variable names, declare them and assign them a value. All these I need
to do in a loop. Could u please suggest..Thanks to all in advance..

Dim DutArray as Varaint
Dim I as Integer
Dim mCell as Range

For I = 1 To 300
Set mCell =
ThisWorkbook.Sheets("SPECS").Range("START_SPEC").O ffset(I, 1)
DutArray = Application.Transpose(Range(mCell,
mCell.End(xlToRight)))

If DutArray(3, 1) = 1 Then

GoTo PROCESSDUT
End If
If DutArray(2, 1) = 1 Then

Here I wish to save the DutArray on to a new variable..
like DUT1, DUT2, DUT3, DUT4 etc...
How can I declare these variables here and then assign some value to
it.?
something like
set "DUT" & I = DutArray

End If
Next

shishi




Vacation's Over

Is it possible to create variables in a loop..
 
No you can not "create" variables in code. workarounds are not worth the
effort.

However to address your project try using a slightly more complex array -
MyArray

where the first dimention is the "name" and the seciond is the value - which
just happens to be an array. So MyArray("Dut2",1) = the array you want to
store as DUT2 (assumes a base zero array)

now MyArray(

"shishi" wrote:

Hi all,
I failed to figure this out. I am trying to go through about 300 rows
and generate some array of data.I am not interested in all the rows.
Say, I am interested in around 100 rows. Based on some condition I
select these 100 rows and transpose them and save them to a varaible
for further processing. I am doing this in a loop. I wish generate the
variable names, declare them and assign them a value. All these I need
to do in a loop. Could u please suggest..Thanks to all in advance..

Dim DutArray as Varaint
Dim I as Integer
Dim mCell as Range

For I = 1 To 300
Set mCell =
ThisWorkbook.Sheets("SPECS").Range("START_SPEC").O ffset(I, 1)
DutArray = Application.Transpose(Range(mCell,
mCell.End(xlToRight)))

If DutArray(3, 1) = 1 Then

GoTo PROCESSDUT
End If
If DutArray(2, 1) = 1 Then

Here I wish to save the DutArray on to a new variable..
like DUT1, DUT2, DUT3, DUT4 etc...
How can I declare these variables here and then assign some value to
it.?
something like
set "DUT" & I = DutArray

End If
Next

shishi




All times are GMT +1. The time now is 05:06 PM.

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