ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1389|回复: 7

[求助] 同一工作薄中合并部分工作表数据到另一工作表中

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-6-30 14:24 | 显示全部楼层 |阅读模式
本帖最后由 qyzz 于 2016-7-1 09:00 编辑

请见附件样例:
需要实现在“合并”工作表合并显示“标准清单”和“同义标准清单”这两工作表中的数据,合并的数据中不包含只有公式没有实际数据的行(这样的行都在实际数据后,不用考虑在有效数据中间夹杂的恶情况。我给“序号”字段加了自动编号的公式,同行还有其它一些公式……)。
目前样例工作薄中用的是网上通行的VBA,会合并工作薄中所有工作表的数据(包括只有公式没有实际数据的行),特向高手们求助!谢谢了先!

数据字典模板.zip

56.01 KB, 下载次数: 3

样例数据

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-7-1 16:24 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
好吧,自己研究了一下,合并指定的工作表已经搞定了,但是复制内容为值而不是公式还没有搞定,那位大大能够在此基础上帮一把,谢谢了!
Option Explicit
Sub 汇总()
Rows("2:1000").Clear   '删除第2行到1000行所有记录
Dim sht As Worksheet, xrow As Integer, rng As Range, i As Integer
  With sht
    For i = 2 To 3
      Set rng = Range("a1000").End(xlUp).Offset(1, 0)   '获得A列第一个空单元格
      xrow = Sheets(i).[A65536].End(xlUp).Row - 1    '获得分表中的记录条数
      Sheets(i).Range("a2").Resize(xrow, 14).Copy rng    '复制记录到汇总表
    Next
  End With
End Sub

Sub 清除()
Rows("2:1000").Clear  '删除第2行到1000行所有记录
End Sub

数据字典模板.zip

64.94 KB, 下载次数: 13

样例文件01

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-7-7 15:36 | 显示全部楼层
本帖最后由 qyzz 于 2016-7-8 14:08 编辑

找了找资料,已经搞定代码:

Sub 汇总()
  Rows("2:1000").Clear                                                                      '删除第2行到1000行所有记录
  Dim xrow As Integer, rng As Range, i As Integer
    For i = 2 To 3
      Set rng = Range("a1000").End(xlUp).Offset(1, 0)                        '获得A列第一个空单元格
      xrow = Sheets(i).[A65536].End(xlUp).Row - 1                             '获得分表中的记录条数
      Sheets(i).Range("a2").Resize(xrow, 14).Copy rng                        '复制记录到汇总表
      ActiveSheet.UsedRange = ActiveSheet.UsedRange.Value             '取消活动工作表已使用范围的公式并保留值
      ActiveSheet.UsedRange.Validation.Delete                                    '取消活动工作表以使用范围的数据有效性
      Columns("B:B").SpecialCells(xlCellTypeBlanks).EntireRow.Delete  '删除所有B列单元格为空的行
    Next
End Sub







TA的精华主题

TA的得分主题

发表于 2016-7-7 16:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
qyzz 发表于 2016-7-7 15:36
找了找资料,已经搞定代码:

Sub 汇总()

with语句好像没什么用处吧。

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-7-8 14:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
wuliu56 发表于 2016-7-7 16:15
with语句好像没什么用处吧。

是的,改完代码后忘了检查和优化了,谢谢提醒

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-7-8 14:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
问题已经解决了,自己不能改状态啊,是要版主操作吗?

TA的精华主题

TA的得分主题

发表于 2018-4-7 15:12 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
同薄多表合并

TA的精华主题

TA的得分主题

发表于 2018-4-7 15:15 来自手机 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-17 15:03 , Processed in 0.033089 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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