A胖几猫 2022-03-21 11:09 采纳率: 100%
浏览 65
已结题

VBA-for循环异常处理

问题遇到的现象和发生背景

写了一个FOR循环语句,但是发现如果单元格异常(如单元格是文字),执行就有问题了;
本来是想着用On Error Resume Next直接跳过的,发现部分异常的也会出数据,达不到效果
如果是当执行出错时候在对应单元格返回“数据异常”,应该怎么写?

For h = 5 To i
Range("bj" & h) = Range("N" & h) - Range("AT" & h)
Range("bk" & h) = Range("O" & h) - Range("AU" & h)
Range("bl" & h) = Range("P" & h) - Range("AV" & h)
Range("bm" & h) = Range("Q" & h) - Range("AW" & h)
Range("bn" & h) = Range("R" & h) - Range("AX" & h)
Range("bo" & h) = Range("S" & h) - Range("AY" & h)
Range("bp" & h) = Range("T" & h) - Range("AZ" & h)
Range("bq" & h) = Range("V" & h) - Range("BA" & h)
Range("br" & h) = Range("Y" & h) - Range("BB" & h)
Range("bs" & h) = Range("Z" & h) - Range("BC" & h)
Range("bt" & h) = Range("AE" & h) - Range("BD" & h)
Range("bv" & h) = Range("AG" & h) - Range("BF" & h)
Range("bw" & h) = Range("BH" & h) - Range("BI" & h)
Range("bu" & h) = Range("AF" & h) - Range("BV" & h)
Next h
End Sub

  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2022-03-21 11:50
    关注

    用isnumeric判断是否是数字在做操作,否则就设置数据异常,

    
    If IsNumeric(Range("N" & h)) And IsNumeric(Range("AT" & h)) Then
      Range("bj" & h) = Range("N" & h) - Range("AT" & h)
    Else
      Range("bj" & h) = "数据异常"
    End If
    
    ''''''''''''''''其他同理,自己按照上面的模式加上
    
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月29日
  • 已采纳回答 3月21日
  • 创建了问题 3月21日

悬赏问题

  • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红
  • ¥15 想问问富文本拿到的html怎么转成docx的