请教怎么将多个数组合并为一个数组
请问如何将多个数组合并为一个数组?
是excel里的问题,需要将两个或者多个数组合并为一个数组
其中数组的个数不定,多则二十个,少则两个
我自己写了个小函数如下,但是只能合并两个
Private Function lj1(XRan As Range, YRan As Range) As Single()
Dim i, j, k, l As Integer
i = XRan.Count
j = YRan.Count
l = i + j
Dim Xran2() As Single
ReDim lj1(1 To l)
ReDim Xran2(1 To l)
For k = 1 To l
If k <= i Then
Xran2(k) = XRan(k)
Else
Xran2(k) = YRan(k - i)
End If
Next k
lj1 = Xran2
End Function
如果是不定个数的多个数组的合并应该如何实现?望大家指点一二,谢谢
------解决方案--------------------
是excel里的问题,需要将两个或者多个数组合并为一个数组
其中数组的个数不定,多则二十个,少则两个
我自己写了个小函数如下,但是只能合并两个
Private Function lj1(XRan As Range, YRan As Range) As Single()
Dim i, j, k, l As Integer
i = XRan.Count
j = YRan.Count
l = i + j
Dim Xran2() As Single
ReDim lj1(1 To l)
ReDim Xran2(1 To l)
For k = 1 To l
If k <= i Then
Xran2(k) = XRan(k)
Else
Xran2(k) = YRan(k - i)
End If
Next k
lj1 = Xran2
End Function
如果是不定个数的多个数组的合并应该如何实现?望大家指点一二,谢谢
------解决方案--------------------
- VBScript code
Private Function lj1(ParamArray aRan()) As Single() Dim i As Long, j As Long, k As Long, l As Long Dim aResult() As Single Dim oRan As Range For i = 0 To UBound(aRan) l = l + aRan(i).Count Next ReDim aResult(1 To l) k = 0 For i = 0 To UBound(aRan) Set oRan = aRan(i) For j = 1 To oRan.Count k = k + 1 aResult(k) = oRan(j) Next Next lj1 = aResult End Function