我有一個保護表沒有密碼,單元格D6鎖定。該單元的VBA代碼不會運行。受保護的工作表,單元格鎖定,將不接受VBA代碼
我在這裏看過一些帖子。這是解決類似問題的方法。不知道如何使用它或放在哪裏。如上所述,我沒有密碼。
Worksheets("Loading").Protect Password:=****, UserInterfaceOnly:=True
Private Sub Worksheet_Change(ByVal Target As range)
Application.EnableEvents = False '<--| disable events handling
On Error GoTo ErrorHandler '<--| be sure to catch any error and enable events handling back
Select Case Target.Address
Case "$D$4"
'Recalculate Downpayment D5 if Purchase Price is changed
range("D5").Value = (range("D4").Value * range("B5").Value)/100
Debug.Print "New value for D5 Downpayment "; range("D5").Value
range("D6").Value = (range("D4").Value - range("D5").Value) ' This cell won't activate when locked and sheet protected
Debug.Print "D6 New Mortgage " & range("D6").Value
如果工作表受到保護(無論密碼是否與此無關),並且單元格已鎖定,則在對代碼進行任何更改之前,您需要取消保護,除非您在VBA中使用「UserInterfaceOnly」參數進行保護。 –
我不確定我解釋了我想要的。我想鎖定字段D6,因爲它不是用戶應該輸入任何內容的字段。我的vba代碼從其他單元格條目填充它。問題是,一旦我保護頁面,然後將其提供給用戶,計算就不會自動填充到D6中。它保持在0美元。我實際上不知道爲什麼我應該保護表格謝謝。 – geddeca