一、实现功能要求:求总分。1、在Excel界面中,初始数据如下2/72、进入VBE界面中,编写如下代码:Sub OnErrorResume" />
乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>Excel</em> <em>vba</em>出现错误

<em>Excel</em> <em>vba</em>出现错误

作者:乔山办公网日期:

返回目录:excel表格制作




一、实现功能要求:求总分。
1、在Excel界面中,初始数据如下
2/7
2、进入VBE界面中,编写如下代码:
Sub OnErrorResume()
Dim i%
For i = 2 To 6:
Sheet4.Range("d" & i) = Sheet4.Range("b" & i) + Sheet4.Range("c" & i)
Next
End Sub
3、运行代码,则报一下错误;错误原因为:包含字符串类型;
3/7
接下来,将对此错误进行处理;
4、修改代码为:
Sub OnErrorResume()
Dim i%
On Error Resume Next   '错误时则恢复;
For i = 2 To 6:
Sheet4.Range("d" & i) = Sheet4.Range("b" & i) + Sheet4.Range("c" & i)
Next
End Sub
4/7
5、点击插入--形状,选择一个形状;
6、选择形状,右键指定宏,选择刚刚定义的宏OnErrorResume;
5/7
7、运行宏;则在有字符串的行中,将不执行,继续执行后面的语句;
6/7
8、当出现某个错e799bee5baa6e997aee7ad94e58685e5aeb9333误时,直接输出错误位置;
Sub onErrorGoTo88()
Dim i%
On Error GoTo 100       '出现错误时,执行某段语句;
For i = 2 To 6:
Sheet1.Range("d" & i) = Sheet1.Range("b" & i) + Sheet1.Range("c" & i)
Nexti
Exit Sub
100:
    MsgBox ("´íÎó³öÏÖÔÚ" & i & "ÐÐ")
    Return
End Sub
7/7
综上所述,本文提供两种方法:
1、On Error Resume Next:忽略错误;
2、On Error GoTo line:错误时跳转到其他执行语句;
来对错误语句进行处理。
你注意下,当最后一次循环时,j是不是已经超界了,我猜想出错时,cells(j,2)的格子里的空的,而你并不想对这个空值进行加总

if语句的括号不匹配
if len(cells(x,5))<>len(application.WorksheetFunction.Substitute(cells(x,5)," ","")) then ...

另外,前面几位都没说错,你的代码还是用的工作表函数,不如直接在工作表中输入公式
=IF(LEN(E1)<>LEN(SUBSTITUTE(E1, " ", "")), "YES", "NO")

VBA检测是否包含空格,可以用INSTR函数:
if instr(cells(x,5), " ")>0 then ...

相关阅读

  • <em>Excel</em> <em>vba</em>出现错误

  • 乔山办公网excel表格制作
  • EXCEL中VBA代码的错误" src="/uploads/tu/629.jpg" style="width: 400px; height: 267px;" />一、实现功能要求:求总分。1、在Excel界面中,初始数据如下2/72、进入VBE界面中,编写如下代码:Sub OnErrorResume
  • <em>Excel</em> 有没有VBA代码自动缩进软件

  • 乔山办公网excel表格制作
  • 没有办法,只有:1.养成良好的编写代码习惯;2.活用“编辑”工具条上的“缩进”和“凸出”以及“设置注释块”和“解除注释块”这4个功能有的。Smart Indenter这个小工具就很好用。假
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网