ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 把工作表导出到新的工作薄下指定命名的工作表中

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-7-10 21:07 | 显示全部楼层 |阅读模式
要把M工作表导出到新的工作薄,如果工作薄中有命名为K的工作表,则将M工作表复制到K工作表中,如果工作薄中没有有命名为K的工作表,则在工作表的最后新建一个工作表,命名为K,再把M工作表复制到K工作表中。

写了以下一段代码,试了几次不能如意,请求帮助!!请赐教。

On Error Resume Next
   str = Application.GetOpenFilename("Excel数据文件,*.xls*", , , , True)
    If str <> "False" Then
        For i = LBound(str) To UBound(str)
            Set wb = Workbooks.Open(str(i))
              For Each Sht In wb.Sheets
              If Sht.Name = k Then
                Sht.Range("a1:z1000").Select '先删表第1行之后内容
                sht1.Range("a1:" & x & hs).Copy Sht.Range("A1")
                 wb.Save '保存工作薄
                wb.Close '关闭工作薄
                MsgBox "报表导出完成!请查阅。"
              Exit Sub
                         Else
                             Set ws = Worksheets(k) '创建表
                Set ws = Worksheets.Add(after:=Worksheets(Worksheets.Count))
                  ws.Name = k
                  sht1.Range("a1:" & x & hs).Copy Worksheets(k).Range("A1")
             End If
           Next
        End If
           wb.Save '保存工作薄
           wb.Close '关闭工作薄

TA的精华主题

TA的得分主题

发表于 2022-7-11 09:58 | 显示全部楼层
啥上传你的文件和代码,才可能测试代码,目前,没有附件,连代码都不是完整的,任何人都帮不了你的
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-11 16:58 , Processed in 0.016367 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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