Excel VBA: How to create Data Types in a 3-d array
up vote
0
down vote
favorite
Im wondering how to create data types for my 3-d array. I really only need it on the x,y variable in the initialization route. I'm at a loss how to do this. Below is how I'm creating the array, and I can use it but I'd prefer to have more control. To give an example: It would be gret to something like dim miultisheetArray(11 as Type1, 7 as Type2, 3 as Type3) as Variant
. So that I could do a call like multisheetArray.Type1Var.Type2Var.Type3Var
. Like a 1-d array but for 3-d. Thanks.
Sub Test3DArray()
Dim w As Long, x As Long, y As Long, z As Long
Dim c As Range
Dim v As Variant
Dim multiSheetArray(11, 7, 3) As Variant 'array with 3 sheets, 5 columns/rows
With Worksheets("Sheet1")
'start at Cells(10,4)
Dim startingRow, startingColumn, staggeredYears As Integer
startingRow = 10
startingColumn = 4
staggeredYears = 3
For w = 0 To 10
For x = 0 To 6
For y = 0 To 2
multiSheetArray(w, x, y) = .Cells(x + startingRow, y + startingColumn + (w * staggeredYears))
Next
Next
Next
End With
End Sub
arrays excel vba excel-vba
add a comment |
up vote
0
down vote
favorite
Im wondering how to create data types for my 3-d array. I really only need it on the x,y variable in the initialization route. I'm at a loss how to do this. Below is how I'm creating the array, and I can use it but I'd prefer to have more control. To give an example: It would be gret to something like dim miultisheetArray(11 as Type1, 7 as Type2, 3 as Type3) as Variant
. So that I could do a call like multisheetArray.Type1Var.Type2Var.Type3Var
. Like a 1-d array but for 3-d. Thanks.
Sub Test3DArray()
Dim w As Long, x As Long, y As Long, z As Long
Dim c As Range
Dim v As Variant
Dim multiSheetArray(11, 7, 3) As Variant 'array with 3 sheets, 5 columns/rows
With Worksheets("Sheet1")
'start at Cells(10,4)
Dim startingRow, startingColumn, staggeredYears As Integer
startingRow = 10
startingColumn = 4
staggeredYears = 3
For w = 0 To 10
For x = 0 To 6
For y = 0 To 2
multiSheetArray(w, x, y) = .Cells(x + startingRow, y + startingColumn + (w * staggeredYears))
Next
Next
Next
End With
End Sub
arrays excel vba excel-vba
That's not possible in VBA - a multi-dimensional array is of a single type. But even if you could, that wouldn't support something likemultisheetArray.Type1Var.Type2Var.Type3Var
– Tim Williams
Nov 9 at 1:29
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
Im wondering how to create data types for my 3-d array. I really only need it on the x,y variable in the initialization route. I'm at a loss how to do this. Below is how I'm creating the array, and I can use it but I'd prefer to have more control. To give an example: It would be gret to something like dim miultisheetArray(11 as Type1, 7 as Type2, 3 as Type3) as Variant
. So that I could do a call like multisheetArray.Type1Var.Type2Var.Type3Var
. Like a 1-d array but for 3-d. Thanks.
Sub Test3DArray()
Dim w As Long, x As Long, y As Long, z As Long
Dim c As Range
Dim v As Variant
Dim multiSheetArray(11, 7, 3) As Variant 'array with 3 sheets, 5 columns/rows
With Worksheets("Sheet1")
'start at Cells(10,4)
Dim startingRow, startingColumn, staggeredYears As Integer
startingRow = 10
startingColumn = 4
staggeredYears = 3
For w = 0 To 10
For x = 0 To 6
For y = 0 To 2
multiSheetArray(w, x, y) = .Cells(x + startingRow, y + startingColumn + (w * staggeredYears))
Next
Next
Next
End With
End Sub
arrays excel vba excel-vba
Im wondering how to create data types for my 3-d array. I really only need it on the x,y variable in the initialization route. I'm at a loss how to do this. Below is how I'm creating the array, and I can use it but I'd prefer to have more control. To give an example: It would be gret to something like dim miultisheetArray(11 as Type1, 7 as Type2, 3 as Type3) as Variant
. So that I could do a call like multisheetArray.Type1Var.Type2Var.Type3Var
. Like a 1-d array but for 3-d. Thanks.
Sub Test3DArray()
Dim w As Long, x As Long, y As Long, z As Long
Dim c As Range
Dim v As Variant
Dim multiSheetArray(11, 7, 3) As Variant 'array with 3 sheets, 5 columns/rows
With Worksheets("Sheet1")
'start at Cells(10,4)
Dim startingRow, startingColumn, staggeredYears As Integer
startingRow = 10
startingColumn = 4
staggeredYears = 3
For w = 0 To 10
For x = 0 To 6
For y = 0 To 2
multiSheetArray(w, x, y) = .Cells(x + startingRow, y + startingColumn + (w * staggeredYears))
Next
Next
Next
End With
End Sub
arrays excel vba excel-vba
arrays excel vba excel-vba
edited Nov 9 at 1:25
asked Nov 8 at 23:40
FancyDolphin
1841115
1841115
That's not possible in VBA - a multi-dimensional array is of a single type. But even if you could, that wouldn't support something likemultisheetArray.Type1Var.Type2Var.Type3Var
– Tim Williams
Nov 9 at 1:29
add a comment |
That's not possible in VBA - a multi-dimensional array is of a single type. But even if you could, that wouldn't support something likemultisheetArray.Type1Var.Type2Var.Type3Var
– Tim Williams
Nov 9 at 1:29
That's not possible in VBA - a multi-dimensional array is of a single type. But even if you could, that wouldn't support something like
multisheetArray.Type1Var.Type2Var.Type3Var
– Tim Williams
Nov 9 at 1:29
That's not possible in VBA - a multi-dimensional array is of a single type. But even if you could, that wouldn't support something like
multisheetArray.Type1Var.Type2Var.Type3Var
– Tim Williams
Nov 9 at 1:29
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53217786%2fexcel-vba-how-to-create-data-types-in-a-3-d-array%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
That's not possible in VBA - a multi-dimensional array is of a single type. But even if you could, that wouldn't support something like
multisheetArray.Type1Var.Type2Var.Type3Var
– Tim Williams
Nov 9 at 1:29