ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Can you dimension an array in a way other than Variant? (https://www.excelbanter.com/excel-programming/412134-can-you-dimension-array-way-other-than-variant.html)

ExcelMonkey

Can you dimension an array in a way other than Variant?
 
I am loading text into a large array dimensioned as a Variant. Is this the
only way to dimension the Array? I am wondering if I can dimension the array
in a less memory intensive manor?

Thanks

EM

Per Jessen[_2_]

Can you dimension an array in a way other than Variant?
 
On 5 Jun., 19:58, ExcelMonkey
wrote:
I am loading text into a large array dimensioned as a Variant. *Is this the
only way to dimension the Array? *I am wondering if I can dimension the array
in a less memory intensive manor?

Thanks

EM


Hi

Yes you can use the same types as with other variables.

Dim MyArray(10) as String

Regards,
Per


Jim Thomlinson

Can you dimension an array in a way other than Variant?
 
While you are correct that you can declare your array as any data type you
want, your resulting array will use the same amount of memory as a variant.
The only difference is that the explicitly declared array will be more
efficient since the variable type will not need to be determined at run time.

In short whether it is an array of strings or a variant it is going to hold
the exact same data (an array of strings).
--
HTH...

Jim Thomlinson


"Per Jessen" wrote:

On 5 Jun., 19:58, ExcelMonkey
wrote:
I am loading text into a large array dimensioned as a Variant. Is this the
only way to dimension the Array? I am wondering if I can dimension the array
in a less memory intensive manor?

Thanks

EM


Hi

Yes you can use the same types as with other variables.

Dim MyArray(10) as String

Regards,
Per



Peter T

Can you dimension an array in a way other than Variant?
 
Hi Jim, not sure that's quite right

Sub foo()
Dim sArr(1 To 2) As String
Dim vArr(1 To 2) As Variant

Debug.Print VarPtr(sArr(2)) - VarPtr(sArr(1)) ' 4
Debug.Print VarPtr(vArr(2)) - VarPtr(vArr(1)) ' 16

End Sub

Regards,
Peter T


"Jim Thomlinson" wrote in message
...
While you are correct that you can declare your array as any data type you
want, your resulting array will use the same amount of memory as a

variant.
The only difference is that the explicitly declared array will be more
efficient since the variable type will not need to be determined at run

time.

In short whether it is an array of strings or a variant it is going to

hold
the exact same data (an array of strings).
--
HTH...

Jim Thomlinson


"Per Jessen" wrote:

On 5 Jun., 19:58, ExcelMonkey
wrote:
I am loading text into a large array dimensioned as a Variant. Is

this the
only way to dimension the Array? I am wondering if I can dimension

the array
in a less memory intensive manor?

Thanks

EM


Hi

Yes you can use the same types as with other variables.

Dim MyArray(10) as String

Regards,
Per






All times are GMT +1. The time now is 09:02 PM.

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