Excel精英培训网

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

[已解决]用代码分割数据

[复制链接]
发表于 2015-1-11 09:40 | 显示全部楼层 |阅读模式
请哪位老师帮忙写段代码,是将数据纵向分割成横向的,详见附件.谢谢!
分割.zip (10.15 KB, 下载次数: 17)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-1-11 10:05 | 显示全部楼层
  1. Sub test()
  2.     Dim arr, i&, re, jg%, rng As Range
  3.     Set rng = Range("C1") '设置导出的区域
  4.     jg = 15
  5.     arr = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row).Value
  6.     ReDim re(1 To jg, 1 To UBound(arr) \ jg + IIf(UBound(arr) Mod jg = 0, 0, 1))
  7.     For i = 1 To UBound(arr)
  8.         re((i - 1) Mod jg + 1, (i - 1) \ jg + 1) = arr(i, 1)
  9.     Next
  10.     rng.Resize(UBound(re), UBound(re, 2)) = re
  11.     Range("A1").Copy
  12.     rng.Resize(UBound(re), UBound(re, 2)).PasteSpecial Paste:=xlPasteFormats
  13.     Application.CutCopyMode = False
  14. End Sub
复制代码

评分

参与人数 1 +3 收起 理由
zhouxingyu + 3 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2015-1-11 10:18 | 显示全部楼层
你这不对啊,03最多256列15行,也就是最多能有256*15=3840条数据,再多的话就另需要换行了
回复

使用道具 举报

 楼主| 发表于 2015-1-11 10:36 | 显示全部楼层
xdragon 发表于 2015-1-11 10:05

非常感谢!测试了下,行数有限制,超过3810行,运行到下面这条时会出现1004错误,
    rng.Resize(UBound(re), UBound(re, 2)) = re




回复

使用道具 举报

 楼主| 发表于 2015-1-11 10:38 | 显示全部楼层
ghostjiao 发表于 2015-1-11 10:18
你这不对啊,03最多256列15行,也就是最多能有256*15=3840条数据,再多的话就另需要换行了

对,测试了,超过3810行就出错.就解决办法吗?谢谢!
回复

使用道具 举报

发表于 2015-1-11 10:49 | 显示全部楼层
zhouxingyu 发表于 2015-1-11 10:38
对,测试了,超过3810行就出错.就解决办法吗?谢谢!

你的意思是这样?

格式转换换行输出.rar

29.91 KB, 下载次数: 9

回复

使用道具 举报

发表于 2015-1-11 10:52 | 显示全部楼层
zhouxingyu 发表于 2015-1-11 10:36
非常感谢!测试了下,行数有限制,超过3810行,运行到下面这条时会出现1004错误,
    rng.Resize(UBound(re) ...

请说明后续怎么处理。。。
比如多出来的放那里=、= 因为你要15行隔开,那剩余 列就没地方放了。。。。是忽略还是?
回复

使用道具 举报

 楼主| 发表于 2015-1-11 10:57 | 显示全部楼层
xdragon 发表于 2015-1-11 10:52
请说明后续怎么处理。。。
比如多出来的放那里=、= 因为你要15行隔开,那剩余 列就没地方放了。。。。是 ...

剩余列换行放下面就可以,在你的示例中是C16起.麻烦你再改改行吗?多谢!
回复

使用道具 举报

 楼主| 发表于 2015-1-11 11:04 | 显示全部楼层
张雄友 发表于 2015-1-11 10:49
你的意思是这样?

行数还是有限制,我把A列复制一遍追加上去就会出错.
回复

使用道具 举报

发表于 2015-1-11 11:08 | 显示全部楼层
zhouxingyu 发表于 2015-1-11 11:04
行数还是有限制,我把A列复制一遍追加上去就会出错.

我只是模拟效果。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-11 19:35 , Processed in 0.373775 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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