Excel VBA 如果该条件发生错误,则运行下一条件

Worksheets(3).Name=Worksheets(3).Cells(1,9).Value&"(4)"OnErrorResumeNextWorksheets(3)... Worksheets(3).Name = Worksheets(3).Cells(1, 9).Value & "(4)"
On Error Resume Next
Worksheets(3).Name = Worksheets(3).Cells(1, 9).Value & "(3)"
On Error Resume Next
Worksheets(3).Name = Worksheets(3).Cells(1, 9).Value & "(2)"
On Error Resume Next
Worksheets(3).Name = Worksheets(3).Cells(1, 9).Value
类似于上面这种方式,用if的方式去写
展开
 我来答
阳光上的桥
2018-05-24 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65786
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部

如果CELLS(1,9)里面有非法字符,你这些语句全部都要失败。如果是为了解决重名,可以先检测是否有这样名字的表,使用下面的自定义函数检查:

Function SheetExists(nm) as Boolean
    Dim st as WorkSheet
    set st=nothing
    on error resume next
    set st=sheets(nm)
    on error goto 0
    SheetExists = not st is nothing
End Function

主程序可以使用while一直循环,例如:

Dim i, nm
i=0
do
    nm = Worksheets(3).Cells(1, 9).Value
    if i>0 then nm = nm & "("& i &")"
    i=i+1
loop until not SheetExists(nm)
Worksheets(3).Name = nm
长发和尚
2018-05-24 · TA获得超过367个赞
知道小有建树答主
回答量:637
采纳率:60%
帮助的人:183万
展开全部
On Error Resume Next 不要重复写
写在最开头就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式