2015-04-02 28 views
-1

如果用戶改變/寫入excel表格,那麼他必須點擊驗證按鈕。如果他改變數據並嘗試保存/關閉excel,彈出窗口必須顯示給用戶。簡單地說,我想在關閉工作簿之前檢查是否使用了點擊驗證按鈕。如果用戶更改單個字母,則用戶需要點擊驗證按鈕。點擊驗證按鈕後,如果用戶再次更改任何數據,則用戶也必須在保存/關閉前收到驗證警告。在關閉工作簿之前必須點擊驗證按鈕

+0

您有問題嗎? – Kyle 2015-04-02 16:20:20

+0

使用BeforeClose事件 – Economist 2015-04-02 16:20:55

+0

@Economist說什麼。從描述的聲音中,調用'BeforeClose'中的'Validate'代碼可能會更有效率,而不是檢查整個表單中的變化,然後調用'Validate'(我的理解)將基本上再次檢查整個表單。這樣,你不必依靠用戶點擊一個按鈕.. – FreeMan 2015-04-02 16:23:47

回答

0

我不想爲您寫出所有代碼,但您需要做的是創建一個更改工作表(如果您願意的話,可以選擇工作簿),或者設置自定義工作表屬性的過程存儲持續在會話之間的值的首選方法。該過程將在工作表中的任何內容發生變化時運行,並且將能夠設置值的值,以便您知道「發生了變化,我現在不驗證」

然後,您需要創建一個保存前檢查該值是「未驗證」還是「已驗證」(錯誤或真實或您有什麼)的過程。您設置該進程以中斷保存事件,並在值爲「未驗證」時顯示錯誤消息,並在驗證時允許該消息。

然後,您創建一個驗證按鈕/任何以及將該值設置爲「已驗證」的過程(可能需要檢查,只有在該值尚未「驗證」時纔會更改,但由您決定)。

然後,您將擁有一組過程,當工作表/工作簿發生更改時,該值將變爲無效並且防止進行保存。當選擇驗證按鈕時,驗證過程將該值更改爲驗證並再次允許保存。