开发者

How do you strip useful values out of a multi-dimensional VBA array?

开发者 https://www.devze.com 2023-04-10 09:46 出处:网络
Function returns a 4-dimensional array in the form (j,0)(i,0). Want to convert this into a 2-dimensional array in the form (j,i). How do I move the values i to the slot bound next to j and t开发者_开发

Function returns a 4-dimensional array in the form (j,0)(i,0). Want to convert this into a 2-dimensional array in the form (j,i). How do I move the values i to the slot bound next to j and t开发者_开发知识库hen re-dimension the array to remove the "spare" two dimensions?


Splitting your question into two parts:

1. How do I move the values i to the slot bound next to j

Create a new two-dimensional array. Loop through both arrays and assign values from the old four-dimensional array to the new two-dimensional array as appropriate. Then Erase the old four-dimensional array to free up memory.

2. and then re-dimension the array to remove the "spare" two dimensions?

This is not possible -- or at least not without erasing the array contents. You could remove the flat dimensions using ReDim, but erases all the data contained in the array, thus defeating your purpose.

That's why I made you make a new array in part 1 above.

0

精彩评论

暂无评论...
验证码 换一张
取 消