Excel精英培训网

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

[已解决]隔行复制

[复制链接]
发表于 2013-12-24 08:40 | 显示全部楼层 |阅读模式
本帖最后由 陈丹青 于 2013-12-24 09:47 编辑

Sub InsertXM()
LastRow = Range("B65536").End(xlUp).Rows
For i = 2 To LastRow Step -2        '从第二行开始,步长为2
    Rows(1).Copy Cells(i, 1)
Next
End Sub
我将第一行内容,从第二行开始,每隔两行复制,用上面的代码不知为什么不行,将Cells(i, 1)换成Rows(i)也不行
最佳答案
2013-12-24 10:03
LastRow = Range("B65536").End(xlUp).Rows
这句应该是
LastRow = Range("B65536").End(xlUp).Row

成绩条生成器.rar

51.24 KB, 下载次数: 10

发表于 2013-12-24 08:44 | 显示全部楼层
回复

使用道具 举报

发表于 2013-12-24 08:46 | 显示全部楼层
你的步长设置不对。step -2,步长是-2,循环应该从大到小,但你的循环却是从小到大的,所以步长应该是2,即step 2
回复

使用道具 举报

 楼主| 发表于 2013-12-24 09:13 | 显示全部楼层
步长改成了2还是不行
回复

使用道具 举报

 楼主| 发表于 2013-12-24 09:15 | 显示全部楼层
fffox 发表于 2013-12-24 08:46
你的步长设置不对。step -2,步长是-2,循环应该从大到小,但你的循环却是从小到大的,所以步长应该是2,即 ...

步长改成了2也还是不行
回复

使用道具 举报

发表于 2013-12-24 09:23 | 显示全部楼层
陈丹青 发表于 2013-12-24 09:15
步长改成了2也还是不行

Sub aa()
LastRow = Range("B65536").End(xlUp).Rows
For i = 2 To LastRow Step 2        '从第二行开始,步长为2
    Rows(1).Copy Cells(i, 1)
Next
End Sub
  隔行粘贴第一行可以     For i =  LastRow to 2 Step -2 也行

回复

使用道具 举报

 楼主| 发表于 2013-12-24 09:30 | 显示全部楼层
E路人 发表于 2013-12-24 09:23
Sub aa()
LastRow = Range("B65536").End(xlUp).Rows
For i = 2 To LastRow Step 2        '从第二行开 ...

不知为何,改了还是不行,顺序倒序都不行,执行起来没有反应
回复

使用道具 举报

 楼主| 发表于 2013-12-24 09:48 | 显示全部楼层
附件上了,代码在模块1,帮我看看什么原因
回复

使用道具 举报

发表于 2013-12-24 09:58 | 显示全部楼层
是不是要这样的效果?
成绩条生成器.rar (51.08 KB, 下载次数: 7)
回复

使用道具 举报

发表于 2013-12-24 10:03 | 显示全部楼层    本楼为最佳答案   
LastRow = Range("B65536").End(xlUp).Rows
这句应该是
LastRow = Range("B65536").End(xlUp).Row
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-12 22:44 , Processed in 0.319445 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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