2017-10-16 62 views
0

我需要在不同的受保護的工作表中鎖定多個單元格,但在通過宏輸入數據後會鎖定相同的工作簿。其作品以精爲先的數據範圍,但它總是打破在第二range.I嘗試這樣做:如何在受保護的工作表中使用VBA鎖定多個單元格

ActiveWorkbook.Worksheets("Summary").Range("C3").Value = Range("B18").Value + Range("C18").Value 
ActiveWorkbook.Worksheets("Summary").Unprotect Password:="password" 
ActiveWorkbook.Worksheets("Summary").Protect Password:="password", UserInterFaceOnly:=True 
ActiveWorkbook.Worksheets("Summary").Range("A11:B15", "C3").Locked = True 

我也試過這個

ActiveWorkbook.Worksheets("Summary").Unprotect Password:="password" 
ActiveWorkbook.Worksheets("Summary").Protect Password:="password", UserInterFaceOnly:=True 
ActiveWorkbook.Worksheets("Summary").Range("A11:B15").Locked = True 
ActiveWorkbook.Worksheets("Summary").Range("C3").Value = Range("B18").Value + Range("C18").Value 
ActiveWorkbook.Worksheets("Summary").Range("C3").Locked = True 

每次他們停在距離C3。對於第一個腳本,我刪除了「C3」,並且它很好;第二,我刪除了整條線,它的工作原理。但我真的需要從編輯中鎖定C3。有關如何做的建議? 錯誤消息總是運行時錯誤'1004':無法設置Range類的鎖定屬性。

+1

是C3任何機會合並單元格?如果是這樣,檢查[這個問題](https://stackoverflow.com/questions/9184818/error-1004-when-setting-range-locked) – Excelosaurus

+0

謝謝,Excelosaurus。我剛剛看到你的評論。不知道爲什麼我沒有注意到它。是的,C3是一個合併單元格,我現在解決它。 – yoyo

回答

0

我建議檢查這個question了。

使用.Lock打開或關閉鎖定標誌,一旦表格被保護,您將無法編輯任何鎖定標誌打開的單元格。

你需要做的... ...

ActiveWorkbook.Worksheets("Summary").Range("C3").Value = Range("B18").Value + Range("C18").Value 
ActiveWorkbook.Worksheets("Summary").Range("A11:B15", "C3").Locked = True 
ActiveWorkbook.Worksheets("Summary").Protect Password:="password", UserInterFaceOnly:=True 

編輯1:

ActiveWorkbook.Worksheets("Summary").Unprotect Password:="password" 
ActiveWorkbook.Worksheets("Summary").Range("C3").Value = Range("B18").Value + Range("C18").Value 
ActiveWorkbook.Worksheets("Summary").Range("A11:B15", "C3").Locked = True 
ActiveWorkbook.Worksheets("Summary").Protect Password:="password", UserInterFaceOnly:=True 
+0

我糾正了第一個腳本的錯誤。在鎖定任何東西之前,我已經解除了工作表的保護。 – yoyo

+0

你必須保護工作表** AFTER **單元格被鎖定,請參閱我的編輯 – Maldred

+0

謝謝,Maldred。但是整個工作表受UserInterFaceOnly保護,允許宏編輯和鎖定單元格。 – yoyo

相關問題