📅  最后修改于: 2023-12-03 14:48:17.133000             🧑  作者: Mango
通过 VBA 可以非常方便地获取当前工作簿的名称,但是有时候我们需要从其他工作簿中获取数据,并希望知道数据来自哪个工作簿。本文将介绍如何用 VBA 从范围获取工作簿名称。
我们可以使用下面的代码来获取某个范围对应的工作簿名称:
Sub GetWorkbookNameFromRange()
Debug.Print Range("A1").Worksheet.Parent.Name
End Sub
代码中的 Range("A1")
可以替换为任何你需要的范围,比如 ActiveCell
。 Worksheet.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
属性就可以轻松地获取当前范围所在的工作簿名称。