我在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