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

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 对于这个问题的解释说明
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备