2013-03-28 103 views
0

他所有我需要幫助編寫一個If語句,每次單元格D8中的值超過一個時,它將運行一個宏。不知道從哪裏開始VBA如果Excel中的語句

+0

看看這個線程,當單元格的值改變時自動運行代碼http://stackoverflow.com/questions/409434/automatically-execute-an-excel-macro-on-a-cell-change – JustinJDavies

+0

你是否確定你需要一個宏?如果觸發單元大於1,你需要做什麼? – PowerUser

回答

1

在這裏你去...

Private Sub Worksheet_Change(ByVal Target As Range) 

If Intersect(Target, Range("D1")) Is Nothing Then Exit Sub 
If Not Range("D1").Value > 1 Then Exit Sub 

MsgBox "D1 > 0" 

End Sub 

有關_Change事件的詳細信息:

http://msdn.microsoft.com/en-us/library/office/ff839775.aspx

+0

這不是不幸的工作。第一個If語句給我一個運行時錯誤424 –

+2

1:檢查拼寫錯誤。 2.確保你已經將它放在工作表的代碼模塊中,而不是放在普通的代碼模塊中。 3.如果仍然無法工作,請調試「Target」的值。 –

0

這是一個簡單的if語句。

If Range("D8").Value > 1 Then 
     '~~> Your code here 
    End If 

你可以把它放在Worksheet_Change事件中。我還建議閱讀本link其中談到Worksheet_Change

如果Range("D8")值,因爲公式的變化,那麼你可能需要使用_Calculate事件。例如,請參閱此link