Excel精英培训网

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

[已解决]将sheet1,sheet3的数据复制到sheet4中

[复制链接]
发表于 2017-6-8 09:46 | 显示全部楼层 |阅读模式
本帖最后由 wine0431 于 2017-6-8 10:20 编辑

将sheet1,sheet3的数据复制到sheet4中,代码如下:
Sub text()
Dim st As Worksheet
Worksheets.Add after:=Sheets(Sheets.Count)
Sheet1.Range("1:1").Copy Sheets(4).Range("a1")
For Each st In Worksheets
If st.Name <> Sheets(4).Name And st.Name <> Sheet2.Name Then
st.Range(st.Cells(2, 1), st.Cells(2, 1).End(xlToRight).End(xlDown)).Copy _
Sheets(4).Range("a" & Sheets(4).Cells(Rows.Count, 1).End(3).Row + 1)
End If
Next
End Sub


结果sheet1中最后十几行没有复制,不知道错在哪,或者求高手重新编个宏
最佳答案
2017-6-8 10:12
不是没复制,而是被覆盖了,把此句代码的“a”改成“b”就好了。
Sheets(4).Range("a" & Sheets(4).Cells(Rows.Count, 1).End(3).Row + 1)

合并数据.rar

45.1 KB, 下载次数: 10

发表于 2017-6-8 10:09 | 显示全部楼层
  1. Sheets(4).Range("a" & Sheets(4).Cells(Rows.Count, 2).End(3).Row + 1)
复制代码
这一句错
你应该统计第二列的最后一行
回复

使用道具 举报

 楼主| 发表于 2017-6-8 10:11 | 显示全部楼层
chart888 发表于 2017-6-8 10:09
这一句错
你应该统计第二列的最后一行

应该改成什么
回复

使用道具 举报

发表于 2017-6-8 10:12 | 显示全部楼层    本楼为最佳答案   
不是没复制,而是被覆盖了,把此句代码的“a”改成“b”就好了。
Sheets(4).Range("a" & Sheets(4).Cells(Rows.Count, 1).End(3).Row + 1)
回复

使用道具 举报

发表于 2017-6-8 10:17 | 显示全部楼层

我已经给你改好了
发给你的 就是改好的
回复

使用道具 举报

 楼主| 发表于 2017-6-8 10:20 | 显示全部楼层
chart888 发表于 2017-6-8 10:17
我已经给你改好了
发给你的 就是改好的

谢谢啦
回复

使用道具 举报

发表于 2017-6-8 10:25 | 显示全部楼层

因为你的A列最后一个空行其实不是最下面一行
你的B列还有数据 所以导致了覆盖
可以的话给最佳
回复

使用道具 举报

 楼主| 发表于 2017-6-8 13:09 | 显示全部楼层
chart888 发表于 2017-6-8 10:25
因为你的A列最后一个空行其实不是最下面一行
你的B列还有数据 所以导致了覆盖
可以的话给最佳

好的,谢谢啦,知道原因出在哪了,可惜已经给了别人最佳,好像给不了你了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 00:25 , Processed in 0.300161 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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