You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBA如何根据其他工作表单元格值选择目标工作表?

解决VBA中根据单元格值选择工作表的问题

你的问题出在代码里把变量MySheet当成字符串常量用了,Sheets("MySheet")会直接去找名为"MySheet"的工作表,而不是你从L41单元格获取的目标工作表名称。

正确的VBA写法很简单,直接使用变量名即可,不需要像PHP那样用点号拼接:

Dim MySheet As String
Dim wks As Worksheet

' 从Template工作表的L41单元格读取目标工作表名称
MySheet = Sheets("Template").Range("L41").Value
' 通过变量引用对应的工作表
Set wks = Sheets(MySheet)

如果需要避免因单元格值错误(比如不存在对应工作表)导致程序崩溃,可以加一段容错判断:

Dim MySheet As String
Dim wks As Worksheet

MySheet = Sheets("Template").Range("L41").Value

' 尝试引用工作表,捕获不存在的情况
On Error Resume Next
Set wks = Sheets(MySheet)
On Error GoTo 0

If wks Is Nothing Then
    MsgBox "工作表 '" & MySheet & "' 不存在,请检查L41单元格的值!"
Else
    ' 这里可以写找到工作表后的操作,比如激活
    wks.Activate
End If

内容的提问来源于stack exchange,提问作者Interactive

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 17:39:55