Excel精英培训网

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

[已解决]指定行提取 代码语法错误

[复制链接]
发表于 2017-8-4 10:45 | 显示全部楼层 |阅读模式
本帖最后由 czl103 于 2017-8-4 14:53 编辑

详见附件,在运行代码之后,提示语法错误,相关错误代码如下:
Sheets(i).Range("a6:i6").Copy Destination:=Sheets("sheet1").Range("a" & LastRow).
Offset(1, 0) '复制到特定非空行的下一行



麻烦大神给看一下,谢谢!
最佳答案
2017-8-4 14:45
跟我的想法一致。
Sheets(i).Range("a2:a1000").Copy Destination:=Sheets("汇总表").Range("a" & LastRow).Offset(1, 0)
Sheets(i).Range("c2:c1000").Copy Destination:=Sheets("汇总表").Range("b" & LastRow).Offset(1, 0)

制定行提取.rar

19.47 KB, 下载次数: 13

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-8-4 11:33 | 显示全部楼层
分行不是这样写的,要么恢复1行,要么这样:
Sheets(i).Range("a6:i6").Copy Destination:=Sheets("sheet1").Range("a" & LastRow). _
Offset(1, 0)
回复

使用道具 举报

 楼主| 发表于 2017-8-4 13:17 | 显示全部楼层
本帖最后由 czl103 于 2017-8-4 13:26 编辑
大灰狼1976 发表于 2017-8-4 11:33
分行不是这样写的,要么恢复1行,要么这样:
Sheets(i).Range("a6:i6").Copy Destination:=Sheets("sheet1 ...

谢谢,按您的提示改了一下,可以提取出来了。
现在的问题是,我想只提取A列和C列的数据,结果确是A列到C列的数据,麻烦您帮忙看一下,需要怎么修改:
这是相关代码(详见附件):
Sheets(2).Range("a1", "C1").Copy Destination:=Sheets("汇总表").Range("A1", "C1") '表头

For i = 2 To Sheets.Count '遍历工作表

LastRow = Sheets("汇总表").Cells(Rows.Count, 1).End(xlUp).Row '判定最后非空行

Sheets(i).Range("a2:a1000", "C2:C1000").Copy Destination:=Sheets("汇总表").Range("a" & LastRow). _
Offset(1, 0) '复制到特定非空行的下一行


制定行提取V1.rar

19.16 KB, 下载次数: 8

回复

使用道具 举报

发表于 2017-8-4 13:41 | 显示全部楼层
你这个用union也不可行,只能A列和C列分开COPY了。
回复

使用道具 举报

 楼主| 发表于 2017-8-4 13:57 | 显示全部楼层
大灰狼1976 发表于 2017-8-4 13:41
你这个用union也不可行,只能A列和C列分开COPY了。

嗯 关键是还有个标题部分 我自己分开提示错误 麻烦您帮忙给提示下咋分
回复

使用道具 举报

 楼主| 发表于 2017-8-4 14:01 | 显示全部楼层
大灰狼1976 发表于 2017-8-4 13:41
你这个用union也不可行,只能A列和C列分开COPY了。

这是我修改的部分:

Sheets(2).Range("a1").Copy Destination:=Sheets("汇总表").Range("A1") '表头
Sheets(2).Range("C1").Copy Destination:=Sheets("汇总表").Range("B1") '表头

For i = 2 To Sheets.Count '遍历工作表

LastRow = Sheets("汇总表").Cells(Rows.Count, 1).End(xlUp).Row '判定最后非空行

Sheets(i).Range("a2:a1000").Copy Destination:=Sheets("汇总表").Range("a" & LastRow). _
Offset(1, 0) '复制到特定非空行的下一行
Sheets(i).Range("C2:C1000").Copy Destination:=Sheets("汇总表").Range("b" & LastRow). _
Offset(1, 0) '复制到特定非空行的下一行


回复

使用道具 举报

发表于 2017-8-4 14:45 | 显示全部楼层    本楼为最佳答案   
跟我的想法一致。
Sheets(i).Range("a2:a1000").Copy Destination:=Sheets("汇总表").Range("a" & LastRow).Offset(1, 0)
Sheets(i).Range("c2:c1000").Copy Destination:=Sheets("汇总表").Range("b" & LastRow).Offset(1, 0)
回复

使用道具 举报

 楼主| 发表于 2017-8-4 14:51 | 显示全部楼层
大灰狼1976 发表于 2017-8-4 14:45
跟我的想法一致。
Sheets(i).Range("a2:a1000").Copy Destination:=Sheets("汇总表").Range("a" & LastRow ...

牛  谢谢狼版[em17]
回复

使用道具 举报

 楼主| 发表于 2017-8-4 14:53 | 显示全部楼层
大灰狼1976 发表于 2017-8-4 14:45
跟我的想法一致。
Sheets(i).Range("a2:a1000").Copy Destination:=Sheets("汇总表").Range("a" & LastRow ...

请教下,我那条代码跟这个差异好像就是一个下划线"_",能解释下为啥不?
回复

使用道具 举报

发表于 2017-8-4 14:55 | 显示全部楼层
代码换行符为空格+下划线,不是在语句中任何地方都适用。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 07:13 , Processed in 0.300702 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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