我在Excel中做了一个VB makro来执行一些东西,如果单元格在给定的范围内,但是当我执行它时,它会给我一个错误,我不明白为什么。VB如果单元格在范围内Excel
Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Boolean
isect = Application.Intersect(Selection, Range("D11:D35"))
If isect Then
If ActiveCell.Offset(-1, 0) - ActiveCell.Offset(-1, 1) > 2.5 Then
Range("A1:A1").Value = "ok"
End If
End If
End Sub
的错误是:
Object variable or With block variable not set.
'如果不是没有那么'你也应该说明'Target'不总是一个单元:它可以是一个多单元的范围...... – 2013-04-03 21:36:12
你正在得到这个问题,因为你的代码试图进入一个循环,因为'Range(“A1:A1”)。Value =“ok”'。我会建议看到这个http://stackoverflow.com/questions/13860894/ms-excel-crashes-when-vba-code-runs/13861640#13861640也改变选择'目标'编辑:此外蒂姆有一个有效点'目标不总是一个单元格所以你将不得不考虑这一点以及.. – 2013-04-03 21:41:14
@TimWilliams感谢队友'如果不是isect是没有那么'它的作品像一个魅力我怎么能接受你的答案? – pocpoc47 2013-04-03 21:45:31