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

Excel VBA打开工作簿时出现类型不匹配错误(Run-time error '13')

解决VBA运行时错误13:类型不匹配问题

嘿,我一眼就揪出问题所在啦!你的代码里变量声明的类型搞错了——你把wb声明成了Workbooks(这代表所有工作簿的集合类型),但Workbooks.Open()方法返回的是单个Workbook对象,两者类型不兼容,这才触发了类型不匹配的错误。

修正后的代码

Sub Check()
    Dim myFile As Variant
    Dim wb As Workbook ' 这里改成Workbook,而非Workbooks
    myFile = Application.GetOpenFilename(Title:="Please Choose the Info File")
    If myFile = False Then
        Exit Sub ' 用Exit Sub替代End更规范,不会强制终止整个VBA进程
    End If
    Set wb = Workbooks.Open(myFile)
End Sub

额外小建议

除了核心的变量类型问题,我把原来的End换成了Exit Sub,这样用户取消选择文件时,只是退出当前子程序,不会意外终止Excel里其他正在运行的代码或进程,安全性更高。如果之后还遇到异常,可以检查下选择的文件是否是Excel支持的格式(比如.xlsx、.xls等),不过从你的描述来看,核心问题肯定是变量类型不匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:06:02