首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vba +从一个wb复制到另一个wb

vba +从一个wb复制到另一个wb
EN

Stack Overflow用户
提问于 2016-12-02 11:00:03
回答 1查看 1.2K关注 0票数 1

许多论坛都讨论了这个问题。我有代码,但它一直在说错误:不匹配。我不知道为什么..。

我有3WB。我现在正在写的宏的那个(1)。一张单张纸需要复制(2),然后1 wb到纸张需要复制到(3)的地方。

我在(1)中的代码:

代码语言:javascript
复制
Dim sh As Worksheet

Application.ScreenUpdating = False
Sheets("Sheet1").Select

PathNameOrigineel = Range("C2").Value
filenameOrigineel = Range("B2").Value

PathNameNew = Range("C3").Value
FilenameNew = Range("B3").Value

Set wbori = Workbooks.Open(PathNameOrigineel & filenameOrigineel)
Set wbNew = Workbooks.Open(PathNameNew & FilenameNew)

wbori.Activate
    For Each sh In wbori.Worksheets
        If sh.Name <> "Database" And sh.Name <> "Template" And sh.Name <> "Help" And sh.Name <> "OVERVIEW" And sh.Name <> "Develop" And sh.Name <> "Schedule" And sh.Name <> "Information" And sh.Name <> "Announcements" And sh.Name <> "Summary"        Then
        Sheets(sh).Copy After:=Workbooks(FilenameNew).Sheets(Sheets.Count)
        End If
    Next
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-02 11:12:46

sh已经定义为工作表,所以您不需要Sheets(sh).Copy,只需要sh.Copy

代码语言:javascript
复制
For Each sh In wbori.Worksheets
    If sh.Name <> "Database" And sh.Name <> "Template" And sh.Name <> "Help" And sh.Name <> "OVERVIEW" And sh.Name <> "Develop" And sh.Name <> "Schedule" And sh.Name <> "Information" And sh.Name <> "Announcements" And sh.Name <> "Summary"        Then
    sh.Copy After:=Workbooks(FilenameNew).Sheets(wbNew.Sheets.Count)
    End If
Next
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40930644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档