這是我需要做的:當我寫了一些東西到工作表中的一個單元格中時,我的Worksheet_Change
代碼應該檢查單元格是否包含某些字符,然後替換這些字符。代碼的那部分工作正常。複製粘貼不會觸發工作表change_change
但是,有一個有點奇怪的行爲。這裏是到目前爲止的代碼:
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Value = Replace(Target.Value, "ß", "ß")
MsgBox "This is the value: " & Target.Value
End Sub
發生了什麼事是,當我有需要我的剪貼板要更改的字符(使用按Ctrl +Ç)。當我雙擊單元格時,使用Ctrl + V將字符粘貼到單元格中,然後按Enter鍵,代碼工作正常,字符被更改。 (注意:沒有雙擊,就看不到光標。)
但是,如果我只是用我的箭頭鍵移動到單元格並粘貼到單元格中的任何其他位置,則什麼也不會發生。我懷疑Worksheet_Change
甚至沒有觸發,否則它至少會顯示我的MsgBox
。
(我不知道這是否是有關這一點,但我在Mac上使用Excel 2010)
如果您複製和粘貼*的Excel內的值,做了'_Change'事件火? [This thread](http://answers.microsoft.com/zh-cn/mac/forum/macoffice2011-macexcel/worksheetchange-not-firing-on-paste/a1cd9b4a-1541-4988-83ef-1c9903f7cb33?msgId=9a4dac82 -69dc-4655-9106-eb5f8d4e388e)表明在Mac的Excel中存在一個錯誤,如果從另一個應用程序粘貼,_Change'事件不會觸發。 –
是@DavidZemens。你是對的。這是一個Excel2011的錯誤。雖然我無法在Mac上爲Excel2010測試它。 –
否_Change事件不會觸發。所以這似乎是一個錯誤? – flamingo