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

如何在VBA中刷新名称为拼接字符串结果的查询?

VBA刷新对应周数查询报错解决方法

错误根源

你写的代码里犯了一个基础错误:在调用Queries时,把变量QueryName用双引号括起来了,这会让VBA直接去找名为"QueryName"的查询,而不是你用周数拼接出来的动态名称,自然会报找不到的错误。

修正后的代码

Private Sub Workbook_Open()
    Dim WeekNum As String
    Dim QueryName As Variant

    WeekNum = WorksheetFunction.WeekNum(Now, vbSunday)
    QueryName = "2024Week" & WeekNum
    ' 直接使用变量QueryName,不要加双引号
    ActiveWorkbook.Queries(QueryName).Refresh
End Sub

额外提醒

  • 确认你的查询名称严格是2024WeekX的格式,比如第5周就是2024Week5,大小写、拼写必须完全一致
  • 如果你的查询名称是带前导零的格式(比如2024Week05),需要把周数格式化为两位数字,修改这一行:
    WeekNum = Format(WorksheetFunction.WeekNum(Now, vbSunday), "00")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 21:18:10