Excel精英培训网

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

复制当前工作表的数据到指定路径文件工作表内

[复制链接]
发表于 2020-8-25 20:52 | 显示全部楼层 |阅读模式
工作簿“总表”存放在d盘,里面有一个工作表名称为“明细”,我想实现如下功能
在打开的另外一个工作簿中也有一名称为“明细”的工作表,点击命令按钮,就自动将打开的工作簿中的明细表的内容粘贴到d盘的“总表”的“明细”中
在网上找到到了如下代码,但是他的功能是反方向的,请老师看看,谢谢



总表.rar

11.41 KB, 下载次数: 16

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2020-8-26 11:10 | 显示全部楼层
  1. Sub Paste()
  2.     Application.ScreenUpdating = False
  3.    
  4.     '取得内容
  5.     Dim arrRange As Variant
  6.     arrRange = ActiveWorkbook.Sheets("明细").UsedRange
  7.    
  8.     '汇总到总表
  9.     Dim xlBook As Workbook
  10.     Set xlBook = Workbooks.Open("D:\总表.xlsx")
  11.     xlBook.Worksheets("明细").Range("a65536").End(xlUp).Offset(1, 0).Resize(UBound(arrRange, 1), UBound(arrRange, 2)) = arrRange
  12.     xlBook.Close True

  13.     Application.ScreenUpdating = True
  14. End Sub
复制代码


回复

使用道具 举报

发表于 2020-8-26 11:28 | 显示全部楼层
Sub TEST()
    myStr = Application.GetOpenFilename(("Excel Files (*.xls*), *.xls*"), , "选择数据文件")
    Set Bk = Workbooks.Open(myStr)
    For Each SH In Bk.Sheets
        If SH.Name = "明细" Then
            T = True
            SH.Range("A3:J" & SH.Range("A65536").End(3).Row).Copy
            ThisWorkbook.Sheets("明细").Range("A65536").End(3)(2).PasteSpecial Paste:=xlPasteValues
            Application.CutCopyMode = False
        End If
    Next
    Bk.Close False
    If T = "" Then MsgBox "该工作簿中没有〖明细〗工作表!": Exit Sub
    MsgBox "数据已导入!"
End Sub
回复

使用道具 举报

发表于 2020-8-26 11:28 | 显示全部楼层
总表.rar (17.56 KB, 下载次数: 7)
回复

使用道具 举报

发表于 2020-8-26 13:28 | 显示全部楼层
使用方法:
1.打开加载宏(附件:Paste.xlam)
2.打开要合并到总表的明细表,右键单击任意单元格,点击<汇总到:D:\总表.xlsx>按钮
1.jpg

Paste.zip

10.46 KB, 下载次数: 13

回复

使用道具 举报

 楼主| 发表于 2020-8-26 19:15 | 显示全部楼层
非常感谢三位老师的帮助,mnmb老师的第一个代码比较吻合我的想法,还有个问题就是每次执行后会在总表中累加数据,我希望能先清空总表中的明细工作表的数据    然后再复制数据,
回复

使用道具 举报

发表于 2020-8-28 15:37 | 显示全部楼层
本帖最后由 mnmb 于 2020-8-28 15:41 编辑

汇总的代码稍微改一下就好了
  1. '汇总到总表
  2. Dim xlBook As Workbook
  3. Set xlBook = Workbooks.Open("D:\总表.xlsx")
  4. xlBook.Sheets("明细").UsedRange.ClearContents
  5. xlBook.Worksheets("明细").Range("A2").Resize(UBound(arrRange, 1), UBound(arrRange, 2)) = arrRange
  6. xlBook.Close True
复制代码


Paste.zip

10.65 KB, 下载次数: 21

回复

使用道具 举报

 楼主| 发表于 2020-8-28 16:38 | 显示全部楼层
很好用,谢谢老师
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 10:10 , Processed in 0.468866 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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