vba的类型不匹配,为什么?
5个回答
展开全部
VBA中类型不匹配,有可能对比,或运算时使用了两种不同的类型,导致无法匹配。
例如你拿一个object对象对比一个text文本,就无法匹配。
如在Excel中,一个工作表对象和一个数值相加,就会提示类型不匹配。
还有就是,你拿一个数字和一个文本相乘这样的,也会提示错误。
好好检查一下吧。对象都是有属性的。例如你要比较一个对象的名称是不是与一个文本相同,则可以使用对象属性提取对象名称再与文本比较。
例如
if object.name = "新建文件" then
……
end if
这样是可以的。
如果object是个对象,你却使用下边的语句
if object = "新建文件" then
……
end if
这就是错了,类型不匹配。
手机打字不易,如果明白了,请给点个赞。
例如你拿一个object对象对比一个text文本,就无法匹配。
如在Excel中,一个工作表对象和一个数值相加,就会提示类型不匹配。
还有就是,你拿一个数字和一个文本相乘这样的,也会提示错误。
好好检查一下吧。对象都是有属性的。例如你要比较一个对象的名称是不是与一个文本相同,则可以使用对象属性提取对象名称再与文本比较。
例如
if object.name = "新建文件" then
……
end if
这样是可以的。
如果object是个对象,你却使用下边的语句
if object = "新建文件" then
……
end if
这就是错了,类型不匹配。
手机打字不易,如果明白了,请给点个赞。
展开全部
VBA中类型不匹配,有可能对比,或运算时使用了两种不同的类型,导致无法匹配。 例如你拿一个object对象对比一个text文本,就无法匹配。 如在Excel中,一个工作表对象和一个数值相加,就会提示类型不匹配。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
类型不匹配翻译成普通话就叫驴唇不对马嘴,一般新人写VBA语句经常会出现这个问题。
比如说A1单元格里有个5、A2单元格里有个7,你需要的结果是2020+A1-A2等于几,这时你要明白你不能用2020直接+A1,而是要加A1的值,A1是单元格而单元格的值才是5。
你要分清你所需要的信息都是xxxx的值
再比如你判断文件名是不是叫12345,你不能判断文件是否=12345,而是要判断文件的名字,也就是用.name来表示文件名。
比如说A1单元格里有个5、A2单元格里有个7,你需要的结果是2020+A1-A2等于几,这时你要明白你不能用2020直接+A1,而是要加A1的值,A1是单元格而单元格的值才是5。
你要分清你所需要的信息都是xxxx的值
再比如你判断文件名是不是叫12345,你不能判断文件是否=12345,而是要判断文件的名字,也就是用.name来表示文件名。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以建立新的沟通渠道上传文件。私信我或评论后我私信你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码截图出来,帮你查原因
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询