【问题标题】:How to refer to a filepath that is a named range in a cell in a macro code?如何引用宏代码中单元格中命名范围的文件路径?
【发布时间】:2019-08-21 22:11:40
【问题描述】:

我想知道是否有人知道如何正确引用包含工作簿文件路径的命名范围?我想引用一个命名范围,因为文件路径会经常更改,我不想手动更改代码。

'尚无数据的 CCG 数量:

    'Specify workbook, sheet and range to copy from
            Workbooks("201819 MASTER Consol Tool AA TEST.xlsb").Sheets("Summary").Range("I1").Copy

        'Specify workbook, sheet and range to copy into
         Workbooks("Macro.xlsm").Sheets("Key info").Range("D7").PasteSpecial xlPasteValues

因此,我不想提供硬编码的文件路径,而是引用当前工作簿中的命名范围。

第一个文件路径的命名范围是:Consol 第二个文件路径的命名范围是:当前

任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 您可以引用命名范围,与单元格完全相同。 Range("D7") 将是 Range("Name")
  • 不幸的是,当我用命名范围替换文件路径时,它不起作用 - 我想知道这是否是因为它试图获取的文件路径?
  • 不,不可能。其他问题一定是问题
  • 以下是完整代码 - 您(或其他任何人)认为您可以帮助解决如何将文件路径合并为命名范围吗?
  • Sub Extract() '指定要从 Workbooks 复制的工作簿、工作表和范围("201819 MASTER Consol Tool AA TEST.xlsb").Sheets("Summary").Range("K1")。 Copy '指定工作簿、工作表和范围以复制到 Workbooks("Macro.xlsm").Sheets("Key info").Range("D9").PasteSpecial xlPasteValues End Sub

标签: excel vba


【解决方案1】:

通过这种方式可以引用命名范围。

Range("name").Value

那么你的台词:

Workbooks("201819 MASTER Consol Tool AA TEST.xlsb").Sheets("Summary").Range("I1").Copy

将成为:

Workbooks(Range("name").Value).Sheets("Summary").Range("I1").Copy

如果你使用命名范围

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    相关资源
    最近更新 更多