【问题标题】:Reference a worksheet from its name in a cell using VBA使用 VBA 从单元格中的名称引用工作表
【发布时间】:2013-11-16 23:21:46
【问题描述】:
我正在尝试找出如何使用 VBA 进行由单元格值定义的引用。
我有一个表格,可以将工作簿的名称和位置输入到单元格(例如 A1)中。然后我希望我的 VBA 代码将此单元格的值作为对该文件位置的引用。
我希望它不是“f:test/file.xls”引用,而是“f:test/filedata.xls sheet1 A1”(显然不是文件路径,但希望您能理解)。
这将允许我构建一组相互连接的工作簿,这些工作簿可以存储在不同的地方并具有不同的名称,而无需每次都对位置进行硬编码(使用用户表单将位置输入到单元格中)。
我不确定这是否可能,我当然还看不到类似的东西。这是希望!
干杯
【问题讨论】:
标签:
vba
excel
reference
excel-2003
【解决方案1】:
我并不完全清楚您要达到的目标,因此我不会尝试明确回答您的问题。相反,希望这会让你朝着正确的方向前进。
下面是我拥有的一段代码,它引用电子表格上的一个单元格并将该单元格用作文件路径,以与包含文件名的相邻单元格组合。然后将它们合并在一起并用于打开该工作簿。
为了让这个例子更清晰,我不得不从我开始的代码中删掉一堆代码,所以我没有按原样测试这个。但是,我希望它为您想要实现的目标提供一个良好的起点。
Private Sub OpenWBs(iCell)
Dim FilePath As String
Dim iCell As String
'refers to file path in cell A1
FilePath = ActiveSheet.Range("A1").Value
'refers to name of the workbook in cell A2
iCell = ActiveSheet.Range("A2").Value
If Not IsEmpty(iCell) Then 'checks for empty value, if found exits, if not opens workbook
Workbooks.Open Filename:=FilePath & iCell & ".xls", ReadOnly:=True
Else
Exit Sub
End If
End Sub
祝你好运!