【问题标题】: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

祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多