首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用vba将数据从一个excel工作簿复制到另一个工作簿。

使用vba将数据从一个excel工作簿复制到另一个工作簿。
EN

Stack Overflow用户
提问于 2018-03-26 09:51:52
回答 1查看 2.5K关注 0票数 0

我有一本工作簿。我需要从另一个工作簿导入数据。第一个工作簿称为MyBook.xls,第二个工作簿称为protfolioData.xls。protfolio数据的路径位于单元格D12中。如何创建一个vbscript,它采用路径形式D12,并从protfolio数据中复制单元格A4:D26中的数据,并在MyBook.xls中创建一个newSheet。我目前正在尝试以下操作,当从MyBook.xls运行宏时,它会抛出一个错误的矛盾名称。

代码语言:javascript
运行
复制
    ext_file = Workbooks(mainFile).Worksheets("config").Range("D12").Value
    Workbooks(ext_file).Sheets("Sheet1").Rows("4:26").Copy _
    Workbooks(mainFile).Sheets("Sheet2").Rows("1:22")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-26 10:25:10

也许可以尝试以下代码:

代码语言:javascript
运行
复制
    Sub test()

        'Get the Path
        ext_file = ThisWorkbook.Sheets("config").Range("D12").Value

        'Get the workbook name from the path
        GetFileName = Right(ext_file, Len(ext_file) - InStrRev(ext_file, "\"))

        'open and activate the workbook
        Workbooks.Open Filename:=ext_file
        Workbooks(GetFileName).Activate

        'Add new sheet to thisworkbook ( MyBook.xls )
        With ThisWorkbook
            Set ws = .Sheets.Add(After:=.Sheets(.Sheets.Count))
        End With

        'Copy rows 4 to 26 from protfolioData.xls and paste in rows 1 to 23 in ( MyBook.xls )
        Workbooks(GetFileName).Sheets("Sheet1").Rows("4:26").Copy _
        Destination:=ws.Rows("1:23")

        'close protfolioData.xls
        Workbooks(GetFileName).Close savechanges:=False


    End Sub
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49488557

复制
相关文章

相似问题

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