如何基于活动工作簿单元格值选择源工作簿中的工作表
解决方案
直接把原代码中固定的工作表名称字符串,替换为活动工作簿B2单元格的取值即可:
Set wbSource = Workbooks.Open(wsActive.Range("B1")) Set wsSource = wbSource.Sheets(wsActive.Range("B2").Value)
补充说明
- 要确保活动工作簿B2单元格输入的文本,和源工作簿中存在的工作表名称完全一致(大小写不影响,但名称不能错),否则会触发运行时错误。
- 如果需要增加容错性,可以先判断目标工作表是否存在,避免报错:
Dim sheetName As String sheetName = wsActive.Range("B2").Value Set wbSource = Workbooks.Open(wsActive.Range("B1")) On Error Resume Next Set wsSource = wbSource.Sheets(sheetName) On Error GoTo 0 If wsSource Is Nothing Then MsgBox "源工作簿中不存在名为" & sheetName & "的工作表" End If
内容的提问来源于stack exchange,提问作者Hello Apple
相关产品推荐
相关产品推荐

