📜  vba 从范围获取工作簿名称 (1)

📅  最后修改于: 2023-12-03 14:48:17.133000             🧑  作者: Mango

VBA 从范围获取工作簿名称

通过 VBA 可以非常方便地获取当前工作簿的名称,但是有时候我们需要从其他工作簿中获取数据,并希望知道数据来自哪个工作簿。本文将介绍如何用 VBA 从范围获取工作簿名称。

实现方法

我们可以使用下面的代码来获取某个范围对应的工作簿名称:

Sub GetWorkbookNameFromRange()
    Debug.Print Range("A1").Worksheet.Parent.Name
End Sub

代码中的 Range("A1") 可以替换为任何你需要的范围,比如 ActiveCellWorksheet.Parent 属性返回该工作表所在的工作簿对象,而 Workbook.Name 属性返回该工作簿的名称。

我们使用 Debug.Print 将结果输出到 "立即窗口",你也可以将结果赋值给一个变量或者使用其他方式来处理。

示例

假设我们在一个名为 Book1.xlsx 的工作簿中运行上面的代码,并将范围设置为 Sheet2 的第一个单元格 A1。运行代码后,我们可以在 "立即窗口" 中看到输出:

Debug.Print Range("A1").Worksheet.Parent.Name
' 输出:Book1.xlsx

这个我们可以知道,A1 单元格所在的工作簿是 Book1.xlsx

总结

通过 VBA 从范围获取工作簿名称是一个非常有用的功能。我们只需要使用 Worksheet.Parent.Name 属性就可以轻松地获取当前范围所在的工作簿名称。