2016-03-04 61 views
0

我有一個通過VBA複製到新表單的模板表單。這張新表格可作爲用戶填寫的表單,幷包含鎖定的標題單元格以及解鎖空單元格供用戶輸入信息。工作表受到保護,但允許用戶選擇鎖定和解鎖的單元格。通過單擊彈出用戶表單的按鈕添加新工作表,並將用戶表單中的信息傳輸到新工作表。使用VBA去除受保護表單的錯誤

一切都運行良好的幾個月,直到我有一天發現一個奇怪的錯誤:當一個新的工作表被創建,並且用戶試圖填充未鎖定的單元格中的信息,Excel響應,就好像他們被鎖定!即會彈出以下信息:「您嘗試更改的單元格或圖表位於受保護的表單上。要進行更改,請單擊」審閱「選項卡中的」取消保護表單「(可能需要密碼)。」這個錯誤只是暫時的,並且在用戶執行以下任何操作後消失:1)雙擊任何空單元格(而不是僅僅選擇它)並以這種方式放入信息,然後單擊enter,然後所有單元格都正常運行; 2)激活任何其他工作表,然後再次返回到該工作表,或者3)選擇「格式」>「取消保護工作表」(實際上並未取消保護工作表,但是它將刪除錯誤。如果用戶想取消保護工作表,則必須單擊「格式」>「取消保護工作表」兩次,即首先刪除這個奇怪的錯誤,然後實際取消保護它)。

我正在嘗試用VBA,通過執行上述1,2或3中的任何一項來消除這個令人不安的錯誤 - 但沒有任何效果。任何人有任何想法如何解決這個問題?

編輯: 此問題的另一個問題是,在出現問題時無法在工作表中使用鼠標滾動。

我試圖插入下面的代碼,但它並不能幫助:

ActiveSheet.EnableOutlining = True 
ActiveSheet.Protect Contents:=True, userInterfaceOnly:=True 

回答

0

一些google搜索後,我設法通過執行以下操作來解決這個問題:

創建VBA模塊並添加下面的代碼:

Public Sub RefreshActiveCellSelection() 
    ActiveCell.Select 
End Sub 

每當你執行Workbook.Activate或Worksheet.Activate,立即撥打

Application.OnTime Now, "RefreshActiveCellSelection" 

另一種解決方案是卸載KB3085502

我在這裏找到了答案:http://answers.microsoft.com/en-us/office/forum/office_2013_release-office_install/microsoft-update-excel-2013-kb3085502-32-bit/0cc7d498-92cb-4478-9554-77cff286c847

相關問題