Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5
Default How to Access Array of Arrays?

I have a variant array (vVal) that contains an arrays of type single.
In the for loop I (1) redim to 0, (2) extend array by 1, (3)
set value in array. The code I have there is wrong but sort of
shows what I am trying to do.


Dim v1() As Single
Dim v2() As Single
Dim v3() As Single
Dim vKey() As Variant
Dim vVal() As Variant
Dim i As Integer, k As Integer, j As Integer
Dim m As Integer

vKey = Array("VOLTAGES", "TEMPERATURES", "ROWS", "COLS",
"SENSE_AMPS")
vVal = Array(v1(), v2(), v1(), v2(), v3())
' Loop to test access
For i = 0 To UBound(vVal)
ReDim vVal(i)(0) ' Redim to 0
ReDim Preserve vVal(i)(UBound(vVal(i) + 1)) ' Add 1 item to array
vVal(i)(UBound(vVal(i)) = 125 ' Set value
Next i

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default How to Access Array of Arrays?

Sub AA()
Dim v1() As Single
Dim v2() As Single
Dim v3() As Single
Dim vKey() As Variant
Dim vVal() As Variant
Dim v As Variant
Dim i As Integer, k As Integer, j As Integer
Dim m As Integer, ub As Variant

vKey = Array("VOLTAGES", "TEMPERATURES", "ROWS", "COLS", "SENSE_AMPS")
vVal = Array(v1, v2, v3, v4, v5)
' Loop to test access
For j = 1 To 3
For i = LBound(vVal) To UBound(vVal)
v = vVal(i)
ub = Empty
On Error Resume Next
ub = UBound(v)
On Error GoTo 0
If IsEmpty(ub) Then
ReDim v(0 To 0)
Else
ReDim Preserve v(ub + 1) ' Add 1 item to array
End If
v(UBound(v)) = CSng(Format((Rnd() * 1000 + 1), "0.00"))
vVal(i) = v
Next i
Next j
s = ""
For i = LBound(vVal) To UBound(vVal)
s = s & i & ": "
For j = LBound(vVal(i)) To UBound(vVal(i))
s = s & vVal(i)(j) & ", "
Next
s = s & vbNewLine
Next
MsgBox s
End Sub

If you are trying to have V1 appear twice, v2 appear twice and v3 appear
once as you show,

vVal = Array(v1(), v2(), v1(), v2(), v3())

then that won't work. vVal holds a copy of the arrays assigned.

--
Regards,
Tom Ogilvy


"billbell52" wrote in message
ups.com...
I have a variant array (vVal) that contains an arrays of type single.
In the for loop I (1) redim to 0, (2) extend array by 1, (3)
set value in array. The code I have there is wrong but sort of
shows what I am trying to do.


Dim v1() As Single
Dim v2() As Single
Dim v3() As Single
Dim vKey() As Variant
Dim vVal() As Variant
Dim i As Integer, k As Integer, j As Integer
Dim m As Integer

vKey = Array("VOLTAGES", "TEMPERATURES", "ROWS", "COLS",
"SENSE_AMPS")
vVal = Array(v1(), v2(), v1(), v2(), v3())
' Loop to test access
For i = 0 To UBound(vVal)
ReDim vVal(i)(0) ' Redim to 0
ReDim Preserve vVal(i)(UBound(vVal(i) + 1)) ' Add 1 item to array
vVal(i)(UBound(vVal(i)) = 125 ' Set value
Next i



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Can I have an array of arrays and access an element simply? peter Excel Programming 4 February 10th 05 01:31 PM
Array of Public Arrays Hari Prasadh Excel Programming 1 January 21st 05 03:42 PM
array of arrays stored in Name: POSSIBLE? [email protected][_2_] Excel Programming 1 December 21st 04 10:55 PM
Array of Arrays in VBA Peter[_49_] Excel Programming 0 November 9th 04 09:50 PM
Extracting sub arrays from a 2-D VBA array Alan Beban[_2_] Excel Programming 7 August 16th 04 09:50 PM


All times are GMT +1. The time now is 08:34 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"