在VBA Excel中合并辑阵维数组 [英] merge mutli dimensional arrays in VBA excel
本文介绍了在VBA Excel中合并辑阵维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个非常艰难的时间与REDIM功能和多维数组。我想两个多维数组合并成一个。我知道,每个阵列的第二维永远是2,但在第一维将发生变化。当我使用ReDim功能我没有得到一个错误信息,但它删除,这是摆在首位的第一阵列中的所有内容。当我使用REDIM preserve我得到一个下标越界。帮助。
功能merge_arrays2(first_array为Variant,sec_array为Variant)为Variant昏暗我作为整数,J为整数,男作为整数M = UBound函数(sec_array)
J = UBound函数(first_array)使用ReDim first_array(M + J,2)对于i = 1到UBound函数(sec_array)
当J = J + 1个
first_array(J,1)= sec_array(I,1)
first_array(J,2)= sec_array(I,2)
下一个merge_arrays2 = first_array结束功能
解决方案
没关系。我解决了这个问题。
暗淡我作为整数,J为整数,K为整数,third_array(),M为整数M = UBound函数(sec_array)
J = UBound函数(first_array)REDIM third_array(M + J,2)对于i = 1到UBound函数(first_array)
K = K + 1
third_array(K,1)= first_array(I,1)
third_array(K,2)= first_array(I,2)
下一个对于i = 1到UBound函数(sec_array)
K = K + 1
third_array(K,1)= sec_array(I,1)
third_array(K,2)= sec_array(I,2)
下一个merge_arrays2 = third_array
I have a very tough time with the redim function and the multi-dimensional arrays. I'm trying to merge two multi-dimensional arrays into one. I know that the second dimension of each array will always be 2, but the first dimension will change. When I use the redim function I do not get an error message but it erases everything that was in the first array in the first place. When I use redim preserve I get a subscript out of range. Help.
Function merge_arrays2(first_array As Variant, sec_array As Variant) As Variant
Dim i As Integer, j As Integer, m As Integer
m = UBound(sec_array)
j = UBound(first_array)
ReDim first_array(m + j, 2)
For i = 1 To UBound(sec_array)
j = j + 1
first_array(j, 1) = sec_array(i, 1)
first_array(j, 2) = sec_array(i, 2)
Next
merge_arrays2 = first_array
End Function
解决方案
Never mind. I solved the problem.
Dim i As Integer, j As Integer, k As Integer, third_array(), m As Integer
m = UBound(sec_array)
j = UBound(first_array)
ReDim third_array(m + j, 2)
For i = 1 To UBound(first_array)
k = k + 1
third_array(k, 1) = first_array(i, 1)
third_array(k, 2) = first_array(i, 2)
Next
For i = 1 To UBound(sec_array)
k = k + 1
third_array(k, 1) = sec_array(i, 1)
third_array(k, 2) = sec_array(i, 2)
Next
merge_arrays2 = third_array
这篇关于在VBA Excel中合并辑阵维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文