|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
根据上面用循环改写的,union好像只能合并工作薄的区域
如果数组很多的话,可以考虑多维数组的形式,就是输出的时候也要用到循环
- 'http://club.excelhome.net/thread-1447186-1-1.html
- Sub Array_Merge()
- Dim aaa(), bbb()
- Dim ddd()
- Dim i&, j&, k&
- aaa = Array(1, 2, 3, 4, 5, 6)
- bbb = Array("AA", "BB", "CC", "DD", "EE")
- ReDim ddd(0 To UBound(aaa) + UBound(bbb) + 1)
- k = 0
- For i = 0 To UBound(aaa)
- ddd(k) = aaa(i)
- k = k + 1
- Next i
- For j = 0 To UBound(bbb)
- ddd(k) = bbb(j)
- k = k + 1
- Next j
-
- '清除
- Sheet1.Cells.ClearContents
- ' 纵向
- Sheet1.Range("A1").Resize(UBound(ddd) + 1, 1) = Application.WorksheetFunction.Transpose(ddd)
- '横向
- Sheet1.Range("C1").Resize(1, UBound(ddd) + 1) = ddd
- End Sub
- '多维数组
- Sub Array_Combine()
- Dim aaa(), bbb()
- Dim ddd
- Dim i&, j&, k&
- Dim m&, n&
- aaa = Array(1, 2, 3, 4, 5, 6)
- bbb = Array("AA", "BB", "CC", "DD", "EE")
- ddd = Array(aaa, bbb)
-
-
- With Sheet1
- m = 0: n = 2
- '清除
- .Cells.ClearContents
- For i = 0 To UBound(ddd)
- For j = 0 To UBound(ddd(i))
- '纵向
- m = m + 1
- .Cells(m, 1) = ddd(i)(j)
- '横向
- n = n + 1
- .Cells(1, n) = ddd(i)(j)
- Next j
- Next i
- End With
- End Sub
复制代码 |
评分
-
1
查看全部评分
-
|