2017-07-19 52 views
1

我有一個任務關鍵型工作簿,它根據用戶在單元格中輸入的輸入執行一堆查找。如果用戶輸入的東西看上去像自動更正的錯字,則用戶輸入會錯誤地更正。例如,當用戶鍵入「cna」時,自動更正將其更改爲「可以」,這通常是好事,但在這種情況下是壞事。我們要查找「cna」。簡單的解決方案是關閉自動更正,但我們希望/喜歡自動更正,而不是在這一個用戶輸入單元中。防止自動更正Excel中的一個單元格

如何保持應用程序/工作簿的自動更正狀態,但是阻止有問題的用戶輸入單元格(單元格)自動更正?

我研究了一下,無法找到一種方法來關閉一個單元的自動校正功能。這似乎是一個全球性的環境。

我看了,沒有發現自動更正之前發生的事件,所以我可以捕獲「cna」,讓自動更正正確的值爲「can」,關閉事件,然後更改它回到「cna」。例如,該值已經是「可以」時,觸發此事件:

Private Sub Worksheet_Change(ByVal Target As Range) 
    debug.print target.value '<- returns "can" already 
End Sub 

我不想加入「CNA」,以可接受的自動更正的單詞列表,因爲我想「中央社」來被修正爲「可以」在所有單元中,但是所討論的用戶輸入單元。

+1

添加worksheet_OnSelect子說如果所需的目標單元格被選中,則關閉自動更正,併爲所有其他單元格打開 – Tragamor

+0

工作正常!謝謝!如果你創建一個答案,我會給你信譽。否則,我可以。 – mountainclimber

回答

1

有一些進一步的錯誤檢查,你可以這樣做,你可能更喜歡以下功能:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    On Error Resume Next 
    Application.AutoCorrect.ReplaceText = IIf(Target = Me.Range("input_cell"), False, True) 
End Sub 
0

使用Flephal的評論,這是我如何解決它:

​​
相關問題