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

您所在的位置:网站首页 碧蓝航线系统错误类型不匹配 解决VBA运行时错误13 类型不匹配问题

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

#解决VBA运行时错误13 类型不匹配问题| 来源: 网络整理| 查看: 265

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

哈拉鱼先生: 这两年VB代码写得多了慢慢能感觉到问题出在哪里了。 例子里面写的其实不严谨,直接写Cells(x,y)其实电脑最直接理解就是Thisworkbook.Worksheets(1).Cells(x,y)这个range对象。 其实后面如果写上 Cells(x,y).Value那么再print肯定就会被电脑理解为数字了。 平时写代码不太会到这种问题,因为一般定义变量的时候会写清楚,比如 dim x as string dim y as long x = cells(x,y) y= cells(n,m) 这样再读单元格的内容,也等于预先定义好数据类型了,不容易出错

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

Jonathan Star: vba 不会报错具体行数吗,不能printStack吗,太难调试了表情包

VBA实现从指定文件夹批量抓取Word文档内容并整理(上)

哈拉鱼先生: 在出错的行之前debug.print一下主要的参数,作者在本地窗口里面看看变化。一般都是简单的算数问题,数组之类则往往和默认的起始下标(0或1)相关

VBA实现从指定文件夹批量抓取Word文档内容并整理(上)

风雪猎归人: 惨,我提示运行错误'9'下标越界,对着看了很久都找不到问题。感觉一模一样的代码。表情包

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

哈拉鱼先生: 现在想想应该和程序的读取顺序和判断有关,整体上先右后左,局部上先把元素的性质定了再判断、计算,所以不管是给指定哪个变量的类型都能帮助VB搞清楚编程者的意图——想把参与运算的变量当成数字。 虽然3本身是个integer,但是程序在转换range的时候不知道要把range转成integer还是long或者其它什么类型的数值。可能正式我们觉得画蛇添足般的进一步声明帮助VB确定了编程者的意图,于是就走通了。 以上都是我的臆想,哈哈哈哈哈,仅供拍砖



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3