Excel精英培训网

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

[已解决]求助!!!EXCEL VBA如何将横向数据转换成纵向数据

[复制链接]
发表于 2013-7-21 02:47 | 显示全部楼层 |阅读模式
求助!EXCEL vba如何将横向数据转换成纵向数据????

因本人对EXCEL VBA 不熟悉,到论坛上找了许多相关的例子,折腾了很久也没能成功,希望能把“数据源”工作表中有两种相对应的横向数据,如何使用VBA将横向数据转换成纵向数据填入“效果表”中,并把其它相应列的数据也一并复制到“效果表”中???
希望能得到论坛中各位大侠的帮助?在此感激不尽。。。

详情请看附件:
最佳答案
2013-7-21 08:24
请查看附件{:3912:}

求助.zip

42.18 KB, 下载次数: 16

发表于 2013-7-21 07:17 | 显示全部楼层
没明白你的意思,如果你只是想进行纵横转换的话,可以用Application.TransposE函数。
回复

使用道具 举报

发表于 2013-7-21 07:59 | 显示全部楼层
转置函数  Application.Transpose(      数据源             ) 调用转置函数 把一行数据转化为 一列
回复

使用道具 举报

发表于 2013-7-21 08:24 | 显示全部楼层    本楼为最佳答案   
请查看附件{:3912:}

求助.zip

48.52 KB, 下载次数: 64

回复

使用道具 举报

 楼主| 发表于 2013-7-21 11:27 | 显示全部楼层
sliang28 发表于 2013-7-21 08:24
请查看附件

非常感谢sliang28 正是我想要的结果,谢谢!如果有时间的话,能帮我标注一下代码就更好了,我也想提高一下对VBA的认识!谢谢!

点评

别忘了设置最佳答案!有时间了帮你注释.  发表于 2013-7-21 11:29
回复

使用道具 举报

 楼主| 发表于 2013-7-21 16:17 | 显示全部楼层
sliang28 发表于 2013-7-21 08:24
请查看附件

sliang28  我在数据源表中增加两列时,修改了相应代码,出现了统计空白行和一些数据未能统计的情况?,具体情况详附件,希望能得到你的帮助,感激涕零。。。

求助1.zip

51.6 KB, 下载次数: 43

回复

使用道具 举报

发表于 2013-7-21 17:00 | 显示全部楼层
For z = 1 To 12 Step 2 下面改为
                    If arr(i, 12) <> "" Then'意思是“标养送检状态”不是空的时候才转换,每一行转换6行,没有的就空下了。
如果改成:If arr(i, 12) <> "" And arr(i, z + 14) <> "" 就不出现空行,没有的就跳过了。
你自己选择吧。
回复

使用道具 举报

 楼主| 发表于 2013-7-21 18:28 | 显示全部楼层
sliang28 发表于 2013-7-21 17:00
For z = 1 To 12 Step 2 下面改为
                    If arr(i, 12)  "" Then'意思是“标养送检状态”不 ...

谢谢 sliang28 的指导,我直接把它改成If arr(i, 14)  "" Then 这样就不会出现问题了,感谢sliang28 !
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-29 06:51 , Processed in 0.327094 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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