2016-10-01 82 views
2
Private Sub Worksheet_Change(ByVal Target As Range) 
    MsgBox ("hi") 
End Sub 

我從來沒有看到'hi'消息。我有一張名爲Sheet1的工作表。Worksheet_Change永不觸發

回答

0

宏未啓用...試圖刪除該問題,但已經有答案

2

你必須把宏在正確的地方:

因爲它是工作表的代碼,它是非常容易安裝和自動使用:

  1. 右鍵單擊接近底部的標籤名稱Excel窗口
  2. 選擇查看代碼的 - 這帶來了一個VBE窗口
  3. 粘貼的東西在,並關閉VBE窗口

如果您有任何疑慮,請先在試用工作表上嘗試。

如果保存工作簿,宏將與其一起保存。 如果您正在使用一個版本的Excel更高然後2003,你必須保存 該文件作爲.XLSM而非的.xlsx

要刪除宏:

  1. 彈出窗口VBE如上
  2. 明確的代碼出來
  3. 關閉VBE窗口

宏將僅在安裝了宏工作表的變化作出反應。要了解更多關於一般的宏,請參閱:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

要了解更多有關事件宏(工作表的代碼),請參閱:

http://www.mvps.org/dmcritchie/excel/event.htm

必須啓用宏才能使其工作!

1

右鍵單擊工作表名稱並轉到代碼。

然後粘貼下面的代碼。

Private Sub Worksheet_Change(ByVal Target As Range) 
MsgBox "Hi" 
End Sub 

你可能沒有把它寫在錯誤的地方。 只有當您在工作表中進行任何更改(更改單元格值)時,它纔會顯示。

還要確保啓用了宏。