Type mismatch 报错原因请教! 急

seaair2001 2009-08-27 03:53:18
我在Excel中用VB编的一段如下:

Dim x As Integer

x = 3
If InStr(Cells(x, 11).Text, "Insp", 1) = 0 Then
Cells(2, 1) = "WW"
End If


运行就报错,请较怎样修正!

我没有积分啊!!!!!
...全文
908 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
seaair2001 2009-08-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 king06 的回复:]
引用 3 楼 bestbadgod 的回复:
InStr 函数第一个参数错误。应该为Start

仔细啊。。。后面还一个1
[/Quote]

那个1是可省的,我就给省了,可惜不让我省.哎.
seaair2001 2009-08-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bestbadgod 的回复:]
当然可以省略
写成If InStr(Cells(x, 11).value, "Insp") = 0 Then 也行。

[/Quote]

确实如此,我用
InStr(Cells(x, 11), "Insp") = 0
试过了.
不过能都麻烦讲下为何我加了后面的参数1前面的参数就不可以省?
最后的参数1表示文本比较,好像和第一个参数从那个开始比较无关的呀.
seaair2001 2009-08-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bestbadgod 的回复:]
改成

VB codeIfInStr(1,Cells(x,11).value,"Insp")=0Then
[/Quote]

你的也很好,把参数1加上就好了,不过后面的.value或者.text都可以不要.我试过了.谢谢!
InStr(1,Cells(x,11),"Insp")=0
倒大霉的上帝 2009-08-27
  • 打赏
  • 举报
回复
当然可以省略
写成If InStr(Cells(x, 11).value, "Insp") = 0 Then 也行。
seaair2001 2009-08-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bestbadgod 的回复:]
改成

VB codeIfInStr(1,Cells(x,11).value,"Insp")=0Then
[/Quote]


非常感谢,问题解决.
不过这个函数缺省是从第一位开始的,怎模不可以省掉啊?
是否有变量的情况下就不可以省掉?
king06 2009-08-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bestbadgod 的回复:]
InStr 函数第一个参数错误。应该为Start
[/Quote]
仔细啊。。。后面还一个1
king06 2009-08-27
  • 打赏
  • 举报
回复
倒大霉的上帝 2009-08-27
  • 打赏
  • 举报
回复
改成


If InStr(1,Cells(x, 11).value, "Insp") = 0 Then
倒大霉的上帝 2009-08-27
  • 打赏
  • 举报
回复
InStr 函数第一个参数错误。应该为Start
slowgrace 2009-08-27
  • 打赏
  • 举报
回复
哪一行报错?
king06 2009-08-27
  • 打赏
  • 举报
回复
Dim x As Integer

x = 3
If InStr(Cells(x, 11).value, "Insp", 1) = 0 Then
Cells(2, 1) = "WW"
End If

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧