Excel精英培训网

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

[已解决]Excel Vba 多列转一列及多行转一行的问题

[复制链接]
发表于 2015-5-16 22:57 | 显示全部楼层 |阅读模式
为嘛下面多列转一列的没有问题,多行转一行的不行,急
----------------------------------------------------------
Sub 多列转一列()
    Application.ScreenUpdating = False
    ARR = Sheets(1).UsedRange
    For J = 2 To UBound(ARR, 2)
       Application.Intersect(Sheets(1).UsedRange, Columns(J)).Copy Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
    Next J
    Application.ScreenUpdating = True
End Sub
----------------------------------------------------------
Sub 多行转一行()
    Application.ScreenUpdating = False
    ARR = Sheets(1).UsedRange
    For J = 2 To UBound(ARR, 1)
       Application.Intersect(Sheets(1).UsedRange, Rows(J)).Copy Cells(1, Clolumns.Count).End(xlToLeft).Offset(0, 1)
    Next J
    Application.ScreenUpdating = True
End Sub

最佳答案
2015-5-17 09:13
本帖最后由 qh8600 于 2015-5-17 09:21 编辑
zpy2 发表于 2015-5-17 05:23
可以吧 代码没错啊

Application.Intersect(Sheets(1).UsedRange, Rows(J)).Copy Cells(1, Clolumns.Count).End(xlToLeft).Offset(0, 1)

应该是columns
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-5-16 23:03 | 显示全部楼层
既然用了数组,怎么不直接用数组转过去,还要用复制来做呢?
回复

使用道具 举报

 楼主| 发表于 2015-5-16 23:38 | 显示全部楼层
Excel学徒123 发表于 2015-5-16 23:03
既然用了数组,怎么不直接用数组转过去,还要用复制来做呢?

不懂,能说明白滴么?
回复

使用道具 举报

发表于 2015-5-16 23:39 | 显示全部楼层
40645759 发表于 2015-5-16 23:38
不懂,能说明白滴么?

太晚了,如果明天问题还没解决的话,我就试试帮你吧
回复

使用道具 举报

发表于 2015-5-17 05:23 来自手机 | 显示全部楼层
可以吧 代码没错啊

点评

代码没错,就是columns多打了一个ll  发表于 2015-5-17 09:23
回复

使用道具 举报

发表于 2015-5-17 09:13 | 显示全部楼层    本楼为最佳答案   
本帖最后由 qh8600 于 2015-5-17 09:21 编辑
zpy2 发表于 2015-5-17 05:23
可以吧 代码没错啊

Application.Intersect(Sheets(1).UsedRange, Rows(J)).Copy Cells(1, Clolumns.Count).End(xlToLeft).Offset(0, 1)

应该是columns

评分

参与人数 1 +10 金币 +10 收起 理由
蓝粆 + 10 + 10 火眼金睛啊!!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2015-5-17 10:44 | 显示全部楼层
qh8600 发表于 2015-5-17 09:13
Application.Intersect(Sheets(1).UsedRange, Rows(J)).Copy Cells(1, Clolumns.Count).End(xlToLeft).Of ...

我晕,我眼瞎啊,感谢
回复

使用道具 举报

发表于 2015-5-18 04:15 来自手机 | 显示全部楼层
qh8600 发表于 2015-5-17 09:13
Application.Intersect(Sheets(1).UsedRange, Rows(J)).Copy Cells(1, Clolumns.Count).End(xlToLeft).Of ...

不错 赞一个
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 18:59 , Processed in 0.290522 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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