Excel精英培训网

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

[已解决]VBA:多列数值倒序合并成一列

[复制链接]
发表于 2021-10-26 23:28 | 显示全部楼层 |阅读模式
现有多列数据,欲倒序合并成一列,用宏代码如何实现?
示例:
I列   J列  K列  L列         
01112131
02122232
03132333
04142434
05152535
06162636
07172737
08182838
09192939
10203040
倒序合并成一列,写入N列
10 20 30  40
09 19 29 39
08 18 28 38
07 17 27 37
06 16 26 36
05 15 25 35
04 14 24 34
03 13 23 33
02 12 22 32
01 11 21 31

最佳答案
2021-10-27 12:09
  1. Sub 数据合并()
  2. Dim ARR, BRR(), K As Integer, M As Integer, L As Integer, S As Byte
  3. L = Range("I65536").End(xlUp).Row
  4. ARR = Range("I7:L" & L)
  5. ReDim BRR(1 To 1000)
  6.     For K = UBound(ARR) To 1 Step -1
  7.         M = M + 1
  8.         For S = 1 To UBound(ARR, 2)
  9.             BRR(M) = BRR(M) & ARR(K, S) & " "
  10.         Next
  11.     Next
  12. Range("N7").Resize(M, 1) = Application.Transpose(BRR)
  13. End Sub
复制代码

VBA:多列数值倒序合并成一列.zip

7.07 KB, 下载次数: 3

发表于 2021-10-27 12:09 | 显示全部楼层    本楼为最佳答案   
  1. Sub 数据合并()
  2. Dim ARR, BRR(), K As Integer, M As Integer, L As Integer, S As Byte
  3. L = Range("I65536").End(xlUp).Row
  4. ARR = Range("I7:L" & L)
  5. ReDim BRR(1 To 1000)
  6.     For K = UBound(ARR) To 1 Step -1
  7.         M = M + 1
  8.         For S = 1 To UBound(ARR, 2)
  9.             BRR(M) = BRR(M) & ARR(K, S) & " "
  10.         Next
  11.     Next
  12. Range("N7").Resize(M, 1) = Application.Transpose(BRR)
  13. End Sub
复制代码

回复

使用道具 举报

发表于 2021-10-28 18:10 | 显示全部楼层
本帖最后由 cui26896 于 2021-10-28 20:35 编辑

看错了!见谅!!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 19:34 , Processed in 0.237450 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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