【问题标题】:Get data from external book with named range to a named range从具有命名范围的外部书籍获取数据到命名范围
【发布时间】:2015-08-14 10:59:02
【问题描述】:

大家早上好,

我的 vba 经验相当有限,但通常可以调整“谷歌搜索”代码以满足我的大部分基本需求。 但是,我目前对以下代码有疑问。目的是从一张表中的表中获取数据,并将其复制到另一张表上的大小相同的表(均称为命名范围 - MainList)中。

它适用于单个单元格,但不想做整个范围。有人可以帮忙吗?

Dim path As String
path = ActiveSheet.Range("A1").Value

Dim currentWb As Workbook
Set currentWb = ThisWorkbook

Dim openWb As Workbook
Set openWb = Workbooks.Open(path)

Dim openWs As Worksheet
Set openWs = openWb.Sheets("Job Details")

currentWb.Sheets("Main List").Range("MainList") = openWs.Range("MainList")

openWb.Close (False)

【问题讨论】:

    标签: excel vba named-ranges


    【解决方案1】:

    使用复制和粘贴

    Dim openWb As Workbook
    Dim openWs As Worksheet
    Dim openRange As Range
    Dim destRange As Range
    
    Set openWb = Workbooks.Open("E:\DOCS\Book1.xlsm")
    Set openWs = openWb.Sheets("Sheet1")
    Set openRange = openWs.Range("$A$1:$H$16")
    Set destRange = ThisWorkbook.Sheets("Sheet1").Range("$A$1:$H$16")
    
    'magic happens here
    openRange.Copy
    destRange.PasteSpecial
    
    openWb.Close False
    
    Set openWs = Nothing
    Set openWb = Nothing
    

    【讨论】:

    • 抱歉,回复有点晚,但那是完美的!非常感谢您的及时回复 - 非常感谢
    • 实际上,我已经尝试将这个公式复制到不同的工作中,并且该范围包括未复制的图像。我已经尝试了很多类似 xlPasteAll 的东西,但无法让它工作。有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多