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 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启