求大神帮忙看一下

朝歌丶 2019-01-28 09:22:34
我想要把EXCEL表中的两行交换位置,这样写哪里错了?

Rows(i & ":" & i).Select
Selection.Cut
Rows(j & ":" & j).Select
Selection.Insert Shift:=xlDown
Range("R2").Select
...全文
87 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
脆皮大雪糕 2019-01-28
  • 打赏
  • 举报
回复
改一下试试

            Rows(i & ":" & i).Select 
            Selection.Cut 
            Rows(k & ":" & k).Select
            Selection.Insert Shift:=xlDown
            Range("R2").Select
朝歌丶 2019-01-28
  • 打赏
  • 举报
回复
引用 1 楼 舉杯邀明月 的回复:
你这哪是“交换位置”啊,明明是把i行移到j行前面嘛…………

当然,唯一符合“交换位置”的条件,是j行与i行相邻、并且j行在i行前面。

你要想“任意位置实现交换”,我觉得先插入一个空行(注意:插入后,必须注意i、j的位置是否变化)。
然后进行数据复制、再删除“多余的”那一行,这样才比较靠谱。

新手,我这个就是相邻两行的互换位置,为什么运行会提示1004错误,Selection.Insert Shift:=xlDown这句话错误
朝歌丶 2019-01-28
  • 打赏
  • 举报
回复
新手,我这个就是相邻两行的互换位置,为什么运行会提示1004错误,Selection.Insert Shift:=xlDown这句话错误
舉杯邀明月 2019-01-28
  • 打赏
  • 举报
回复
你这哪是“交换位置”啊,明明是把i行移到j行前面嘛…………

当然,唯一符合“交换位置”的条件,是j行与i行相邻、并且j行在i行前面。

你要想“任意位置实现交换”,我觉得先插入一个空行(注意:插入后,必须注意i、j的位置是否变化)。
然后进行数据复制、再删除“多余的”那一行,这样才比较靠谱。

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧