使用VBA从单元格中的工作表名称引用工作表

使用VBA从单元格中的工作表名称引用工作表,vba,excel,reference,excel-2003,Vba,Excel,Reference,Excel 2003,我试图找出如何使用VBA创建由单元格值定义的引用 我有一个表单,它将工作簿的名称和位置输入到一个单元格中(例如A1)。然后,我希望我的VBA代码将此单元格的值作为对该文件位置的引用 我希望它不是“f:test/file.xls”,而是“f:test/filedata.xls sheet1 A1”(显然不是文件路径,但希望您能理解) 这将允许我构建一组相互关联的工作簿,这些工作簿可以存储在不同的位置,并具有不同的名称,而无需每次对位置进行硬编码(使用userform将位置输入单元格) 我不确定这是

我试图找出如何使用VBA创建由单元格值定义的引用

我有一个表单,它将工作簿的名称和位置输入到一个单元格中(例如A1)。然后,我希望我的VBA代码将此单元格的值作为对该文件位置的引用

我希望它不是“f:test/file.xls”,而是“f:test/filedata.xls sheet1 A1”(显然不是文件路径,但希望您能理解)

这将允许我构建一组相互关联的工作簿,这些工作簿可以存储在不同的位置,并具有不同的名称,而无需每次对位置进行硬编码(使用userform将位置输入单元格)

我不确定这是否可行,我当然还看不到类似的情况。希望在这里


干杯

我不完全清楚你想要实现什么,所以我不打算明确回答你的问题。相反,希望这能让你朝着正确的方向前进

下面是我的一段代码,它引用了电子表格中的一个单元格,并将该单元格用作文件路径,以便与包含文件名的相邻单元格组合。然后将它们合并在一起并用于打开该工作簿

为了使这个例子更加清晰,我不得不从我开始的代码中删去一堆代码,所以我没有按原样测试它。然而,我希望它能为你努力实现的目标提供一个良好的起点

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
祝你好运

点击此处查看