Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2145|回复: 4

[已解决]VBA数组把A列拆分保存D列 改写加一个数组输出结果

[复制链接]
发表于 2017-6-7 21:46 | 显示全部楼层 |阅读模式
本帖最后由 laoau138 于 2017-6-8 12:04 编辑

VBA数组把A列拆分保存D列   改写加一个数组输出结果


Sub 按钮2_Click()
    Application.ScreenUpdating = False
    arr = [a1].CurrentRegion
    a = 1
    For j = 1 To UBound(arr) - 4
        For i = j To j + 4
            Cells(a, 4) = arr(i, 1)
            a = a + 1
        Next i
        a = a + 1
    Next j
    Application.ScreenUpdating = True
End Sub


'VBA数组把A列拆分保存D列 改写加一个数组输出结果

'把A列数字每5个拆分一组保存D列 中间用一个空格隔开

'A列单元格存入数组arr

'把下面两句改写加一个数组brr输出结果到D列

   'Cells(a, 4) = arr(i, 1)

          '  a = a + 1

最佳答案
2017-6-8 10:48
本帖最后由 大灰狼1976 于 2017-6-8 10:55 编辑
  1. Sub aaa()
  2. Dim arr, brr, n&
  3. arr = [a1].CurrentRegion
  4. ReDim brr(1 To UBound(arr) * 6 - 25 ,1 To 1)
  5. For i = 1 To UBound(arr) - 4
  6.   For j = i To i + 4
  7.     n = n + 1
  8.     brr(n, 1) = arr(j, 1)
  9.   Next j
  10.   n = n + 1
  11. Next i
  12. [d1].Resize(n - 1) = brr
  13. End Sub
复制代码

VBA数组把A列拆分保存D列 改写加一个数组输出结果.rar

13.06 KB, 下载次数: 12

发表于 2017-6-7 22:43 | 显示全部楼层
  1. Dim ts As Long
  2. Dim arr
  3. Dim brr()
  4. Set rg = Range("a1:a" & Cells(Rows.Count, 1).End(xlUp).Row)
  5. arr = rg
  6. ts = (UBound(arr) - 5 + 1) * 6 - 1
  7.     a = 1
  8.     ReDim brr(1 To ts, 1 To 1)
  9.     For j = 1 To UBound(arr) - 4
  10.         For i = j To j + 4
  11.             brr(a, 1) = arr(i, 1)
  12.             a = a + 1
  13.         Next i
  14.         a = a + 1
  15.     Next j
  16. [f1].Resize(ts, 1) = brr
  17. End Sub
复制代码

评分

参与人数 1 +9 收起 理由
laoau138 + 9 来学习

查看全部评分

回复

使用道具 举报

发表于 2017-6-8 10:48 | 显示全部楼层    本楼为最佳答案   
本帖最后由 大灰狼1976 于 2017-6-8 10:55 编辑
  1. Sub aaa()
  2. Dim arr, brr, n&
  3. arr = [a1].CurrentRegion
  4. ReDim brr(1 To UBound(arr) * 6 - 25 ,1 To 1)
  5. For i = 1 To UBound(arr) - 4
  6.   For j = i To i + 4
  7.     n = n + 1
  8.     brr(n, 1) = arr(j, 1)
  9.   Next j
  10.   n = n + 1
  11. Next i
  12. [d1].Resize(n - 1) = brr
  13. End Sub
复制代码

评分

参与人数 1 +9 收起 理由
laoau138 + 9 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-6-9 07:52 | 显示全部楼层

VBA数组行与行比较   不用index方法如何改写

http://www.excelpx.com/thread-430950-1-1.html


回复

使用道具 举报

 楼主| 发表于 2017-6-9 07:56 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 08:50 , Processed in 0.309864 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表