ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   array use problem (https://www.excelbanter.com/excel-programming/297131-array-use-problem.html)

NikkoW

array use problem
 
I am probably overlooking something really obvious. I have looked through
the online Excel & VB prog reference and it looks right to me. The following
code generates a "Compile Error - For Each may only iterate over a
collection object or an array.":

Dim MyFiles As String, I As Variant
MyFiles = Array("Consolidated.xls", "CAN1a.xls", _
"CAN1b.xls", "CAN1c.xls")
For Each I In MyFiles

Thanks for the help.

Nick



Juan Pablo González

array use problem
 
You have to Dim MyFiles as Variant too.. not as String.

--
Regards

Juan Pablo González

"NikkoW" wrote in message
et.cable.rogers.com...
I am probably overlooking something really obvious. I have looked through
the online Excel & VB prog reference and it looks right to me. The

following
code generates a "Compile Error - For Each may only iterate over a
collection object or an array.":

Dim MyFiles As String, I As Variant
MyFiles = Array("Consolidated.xls", "CAN1a.xls", _
"CAN1b.xls", "CAN1c.xls")
For Each I In MyFiles

Thanks for the help.

Nick





NikkoW

array use problem
 
Doh!

See...I said it was obvious.

Thanks!


"Juan Pablo González" wrote in message
...
You have to Dim MyFiles as Variant too.. not as String.

--
Regards

Juan Pablo González

"NikkoW" wrote in message
et.cable.rogers.com...
I am probably overlooking something really obvious. I have looked

through
the online Excel & VB prog reference and it looks right to me. The

following
code generates a "Compile Error - For Each may only iterate over a
collection object or an array.":

Dim MyFiles As String, I As Variant
MyFiles = Array("Consolidated.xls", "CAN1a.xls", _
"CAN1b.xls", "CAN1c.xls")
For Each I In MyFiles

Thanks for the help.

Nick







Tom Ogilvy

array use problem
 
Sub tester2()
Dim MyFiles As Variant, I As Variant
MyFiles = Array("Consolidated.xls", "CAN1a.xls", _
"CAN1b.xls", "CAN1c.xls")
For Each I In MyFiles
Debug.Print I
Next
End Sub


Declare myfiles as Variant.

--
Regards,
Tom Ogilvy




"NikkoW" wrote in message
et.cable.rogers.com...
I am probably overlooking something really obvious. I have looked through
the online Excel & VB prog reference and it looks right to me. The

following
code generates a "Compile Error - For Each may only iterate over a
collection object or an array.":

Dim MyFiles As String, I As Variant
MyFiles = Array("Consolidated.xls", "CAN1a.xls", _
"CAN1b.xls", "CAN1c.xls")
For Each I In MyFiles

Thanks for the help.

Nick





Alan Beban[_2_]

array use problem
 
If the functions in the freely downloadable file at
http://home.pacbell.net/beban are available to your workbook, the
following will work:

Dim MyFiles() As String, I As Variant
Assign Array("Consolidated.xls", "CAN1a.xls", _
"CAN1b.xls", "CAN1c.xls"), MyFiles
For Each I In MyFiles

Alan Beban

NikkoW wrote:
Doh!

See...I said it was obvious.

Thanks!


"Juan Pablo González" wrote in message
...

You have to Dim MyFiles as Variant too.. not as String.

--
Regards

Juan Pablo González

"NikkoW" wrote in message
.net.cable.rogers.com...

I am probably overlooking something really obvious. I have looked


through

the online Excel & VB prog reference and it looks right to me. The


following

code generates a "Compile Error - For Each may only iterate over a
collection object or an array.":

Dim MyFiles As String, I As Variant
MyFiles = Array("Consolidated.xls", "CAN1a.xls", _
"CAN1b.xls", "CAN1c.xls")
For Each I In MyFiles

Thanks for the help.

Nick







Harlan Grove

array use problem
 
"Alan Beban" wrote...
If the functions in the freely downloadable file at
http://home.pacbell.net/beban are available to your workbook, the
following will work:

Dim MyFiles() As String, I As Variant
Assign Array("Consolidated.xls", "CAN1a.xls", _
"CAN1b.xls", "CAN1c.xls"), MyFiles
For Each I In MyFiles

.....

And what are the practical benefits to this compared to

Dim MyFiles As Variant
MyFiles = Array("Consolidated.xls", "CAN1a.xls", _
"CAN1b.xls", "CAN1c.xls")

That is, what are the advantages of declaring MyFiles as a dynamic array of
strings vs declaring it a variant that would hold a dynamic array of
strings? While the former uses 12 bytes less storage, calling another
procedure to assign the latter uses even more memory (since the procedure
would need to be in memory, and your code is likely to require more than 12
bytes), is slower and adds complexity? Is there anything to love about it?




All times are GMT +1. The time now is 09:42 AM.

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