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

先说解决方法:找到出错的语句以后给里面的参数改类型,使其互相兼容。

  • 比如:给单元格Cells()外面套个马甲 Val()
  • 比如:给数字外面套个马甲Int()
    详细的排查过程后面会慢慢讲……这是一个翻转灵异的奇怪问题。

我这边出问题的例子参见杨洋老师的书《深入浅出Excel VBA》第3章,3.2.1节,我原样敲仅VBE里面运行就报错了:

Sub Scores()Dim iFor i = 3 To 5Cells(i, 6) = Cells(i, 3) + Cells(i, 4) + Cells(i, 5)Cells(i, 7) = Cells(i, 6) / 3 '报错就在这一行Next iEnd Sub

我试了下,解决方案有二:

  1. Val(Cells(i, 6)) 也就是给Cells(i, 6) 穿马甲
  2. 或者, In(3)—— 强调下3不是字符串是整数()

解决归解决,但是要搞清楚之前死在哪里才行,于是我在代码里加了一句显示数据类型的代码

Sub Scores()Dim iFor i = 3 To 5Cells(i, 6) = Cells(i, 3) + Cells(i, 4) + Cells(i, 5)MsgBox MsgBox TypeName(Cells(i, 6))'让EXCEL给我跳个弹窗看看这单元格里面到底什么数据格式MsgBox MsgBox TypeName(3)'再看看一个数字3还能是什么形式……Cells(i, 7) = Cells(i, 6) / 3 Next i
End Sub

果然,Cells(i,6)的数据类型不是正常的变量或者整数,而是range

而3就是平平无奇的integer

那么问题来了,Range不能被integer除可以理解,给range套上Val()完全可以理解,variant和一切都搭嘛……但为什么给本来就是integer的3外面套上一层Int()也可以解决问题不再报错呢???

看到这里只是一般奇怪哈,更奇怪的是

当我把两条MsgBox代码删掉,想再看看报错效果

然后,竟然不再报错说什么 运行时错误13了

只能风中凌乱………………

解决VBA运行时错误13 类型不匹配问题相关推荐

  1. ASP:当 request.cookies 发生 Microsoft VBScript 运行时错误 (0x800A000D) 类型不匹配: '[string:...

    昨天当一个客户告诉我,登录后看不到图片的时候,我还不相信,因为我的浏览器测试发现一切正常. 通过QQ远程协助后,我才发现服务器端真的报错: Microsoft VBScript 运行时错误 (0x80 ...

  2. 计算机错误代码3420,如何解决vba运行时错误3420

    当用户输入新记录时,我有以下检测重复产品名称.如何解决vba运行时错误3420 Private Sub ProdName_BeforeUpdate(Cancel As Integer) Dim Pro ...

  3. VBA中byref类型不匹配 ByRef Argument Type Mismatch错误

    VBA中子函数调用时出现如下错误:"ByRef Argument Type Mismatch",(参数类型不匹配)代码如下: Function MainFunc()Dim a, b ...

  4. 提示计算机类型不匹配啥意思,提示:运行时错误“13”:类型不匹配。是什么意思刚装好...

    近日使用的用友畅捷通T+财务管理软件的T6中碰到一个问题: 提示:运行时错误"13":类型不匹配.是什么意思 详细的问题情况是这样的: 刚装好T6-7.1版,点击企业门户时提示:运 ...

  5. Java运行时错误 类型,“运行时错误13:类型不匹配”

    我有VBA程序,允许用户在活动Excel工作表的第一行输入名称(整数/字符串/等)来编写 Headers . 写入输入后,我需要在相邻的单元格中写入输出 . 逐行逐行,我相信这是产生错误的问题行 运行 ...

  6. Excel VBA 中有关使用 UBound + CurrentRegion 提示类型不匹配的问题及解决方案

    先来说一下解决方案:使用 CurrentRegion.Value 即可. -------- 今天需要在 Excel 里放一个小程序,于是在网上边搜 VBA 边写程序. 其中一步要获取"单元格 ...

  7. IE浏览器“SEC7113: CSS 因 Mime 类型不匹配而被忽略”问题的解决方法

    IE浏览器"SEC7113: CSS 因 Mime 类型不匹配而被忽略"问题的解决方法 参考文章: (1)IE浏览器"SEC7113: CSS 因 Mime 类型不匹配而 ...

  8. 解决IE下CSS因 Mime 类型不匹配而被忽略的问题

    写页面的时候在chrome,firefox等页面上显示正常,但是换成IE9之后就完全没有样式了,报错信息是CSS 因 Mime 类型不匹配而被忽略,下面与大家分享下这个问题的相关的回答.IE真是个奇葩 ...

  9. sscanf函数中类型不匹配警告引发的BUG和思考

    2019独角兽企业重金招聘Python工程师标准>>> BUG产生背景 项目开发中的在对网络的IP等地址进行协议封装的处理过程中,我使用了如下的一段代码: buff[0] = con ...

最新文章

  1. Word 2003文件保存和另存为操作是否熟练掌握的有关测试
  2. MySQL基础总结(三)
  3. Mysql多表查询笔记
  4. “24小时城市图鉴”看人间,每个城市都有属于她的独特记忆!
  5. 【结论】游戏(jzoj 5536)
  6. Sharepoint页面里添加.net托管代码
  7. perl -p -i -e s/aaaaa/bbbbb/g ./*.sql
  8. Polkadot 0.9.2版本正式发布,对平行链启动至关重要
  9. WPF:Webbrowser 捕获关闭事件
  10. 计算十进制转为二进制后1的个数
  11. linux 嵌入式 快照_定制嵌入式 Linux 发行版
  12. 奥维 html api,【教程】在奥维中,个人如何申请天地图API秘钥(手机端操作)
  13. 微信小程序中使用自定义图标(阿里icon)的方法
  14. Windows 11 配置Java 环境变量
  15. [JZOJ5629]【NOI2018模拟4.4】Map
  16. 树莓派4B-Python-控制HC_SR501(微型人体红外感应模块)
  17. C语言学习(三)内存初识、数据在内存中的保存形式、程序载入内存
  18. 【技术点】数据结构--B树系列(四)
  19. Servlet[SpringMVC]的Servlet.init()引发异常
  20. 一种 用于GPT模型 训练的 包含加权 和 数据增强 和 损失方法 的设计

热门文章

  1. ultraedit25版本设置文本自动换行方法
  2. 只有两种直播:淘宝直播和其它直播
  3. 项目难于管理的根本原因在于项目的”VUCA”特性
  4. #300. 【CTSC2017】吉夫特
  5. 启动Mysql时报错:mysqld_safe mysqld from pid file /usr/local/mysql/data/Linux.pid ended
  6. 日常生活息息相关的数据分析应用,掌握了你就是最牛的数据分析师
  7. 最新信用卡养卡技巧,大神分享
  8. 利用cpolar远程登录公司OA系统
  9. 登陆局域网服务器显示参数错误,局域网出现域名解析错误时如何解决
  10. 手写一个抖音视频去水印工具,千万别刚一个程序员