如果单元格返回错误,则运行宏的宏

时间:2015-11-05 18:13:52

标签: excel vba excel-vba

我需要运行一个宏来决定是运行另一个宏还是保持电子表格不变。如果activecell.offset(3,0).value是错误,则运行SubMac_3。如果不是错误,请保持原样。

Sub SubMacIfError()
    IfError ActiveCell.Offset(3, 0).Value then
        SubMac_3
        SubMac3
    Else
        ActiveCell.Select
    End If
End Sub

2 个答案:

答案 0 :(得分:2)

更新以添加蒂姆·威廉姆斯评论(问题),因为那行代码更清晰。

{
 "summary": "Some summary",
 "timeZone": "America/New_York",
 "items": [
  {
   "id": "u7tt4icrbfe76tso8qt11oa5gg",
   "summary": "Event summary",
   "description": "Event description",
   "start": {
    "dateTime": "2015-11-06T09:30:00-05:00",
    "timeZone": "America/Indiana/Indianapolis"
   },
   "end": {
    "dateTime": "2015-11-06T09:45:00-05:00",
    "timeZone": "America/Indiana/Indianapolis"
   }
  }
 ]
}

另外一般说明,除非您绝对需要,否则我会远离Sub SubMacIfError() 'If Application.WorksheetFunction.IsError(ActiveCell.Offset(3)) Then If IsError(ActiveCell.Offset(3).Value) Then SubMac_3 Else ActiveCell.Select End If End Sub .Select

答案 1 :(得分:0)

如果要对工作簿中的每个工作表执行此操作,请立即选择一个CELL,然后使用:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If IsError(Target(4)) Then SubMac_3
End Sub