读书人

VBA 不连续区域如何赋值给一个数组

发布时间: 2013-01-27 13:55:24 作者: rapoo

VBA 不连续区域怎么赋值给一个数组?
本帖最后由 zhengzunyao 于 2013-01-22 13:23:24 编辑


Sub abcd()
Dim SessionCode
Set a = Range("A50", "A100")
Set b = Range("A150", "A200")

SessionCode = Application.Transpose(Union(a, b).Value)
End Sub


我要把区域a和区域b里的值合起来赋值给数组SessionCode这样为什么不行呢?该怎么做???求大神指点迷津!!!
[解决办法]
Sub abcd()
Dim SessionCode1
Dim SessionCode2

SessionCode1 = Application.Transpose(Range("A50", "A100").Value)
SessionCode2 = Application.Transpose(Range("A150", "A200").Value)

m = UBound(SessionCode1)
n = UBound(SessionCode1) + UBound(SessionCode2)

ReDim Preserve SessionCode1(1 To n)
r = 1
For i = m + 1 To n
SessionCode1(i) = SessionCode2(r)
r = r + 1
Next

End Sub

读书人网 >VB

热点推荐