2017-01-07 29 views
0

我需要幫助創建一個宏,它將顯示位於某些合併單元格中的註釋。該宏將鏈接到一個按鈕,當用戶單擊該按鈕時,將顯示位於特定合併單元格中的註釋。Excel宏,顯示在保護模式下的某些單元格的評論

我目前有一個代碼,我在網上找到顯示位於工作簿中的所有評論。但是,這段代碼不起作用,因爲我的工作簿需要保護,這意味着宏將查看鎖定的單元並提前結束。我粘貼下面的代碼:

Sub Show_Comment() 
On Error Resume Next 
    For Each ws In ActiveWorkbook.Sheets 
     Set allCommentRng = ws.Cells.SpecialCells(xlCellTypeComments) 
     For Each Rng In allCommentRng 
      Rng.Comment.Visible = True 
     Next 
    Next 
On Error GoTo 0 
End Sub 

這樣說,我需要知道如何指定一個具有評論的某個合併範圍。第一個合併範圍是C7:C8-E7:E8。如果我知道如何做一個範圍,我會想出我們如何去做其他的。

回顧一下,我需要幫助創建一個宏,它將顯示位於某些合併單元格中的註釋,並且必須在工作簿受到保護並且大多數單元格將被鎖定時工作。我需要知道如何指定一個特定的合併範圍,並有一個宏觀的外觀,隻影響指定,解鎖的單元格。

這是一個個人項目,不適用於學校或工作。任何幫助都是有益的。我提前謝謝你。如果您需要更多信息,請告訴我。

的電池是什麼樣子的圖像以及按鈕:

enter image description here

回答

1

怎麼樣,如果你取消工作表運行宏,並重新保護之前,如果經過:

Sub Show_Comment() 
On Error Resume Next 
For Each ws In ActiveWorkbook.Sheets 
    ws.unprotect 
    Set allCommentRng = ws.Cells.SpecialCells(xlCellTypeComments) 
    For Each Rng In allCommentRng 
     Rng.Comment.Visible = True 
    Next Rng 
    ws.protect 
Next ws 
On Error GoTo 0 
End Sub 
+0

'ws.protect'是範圍循環 –

+0

良好的抓內部,感謝@RyszardJędraszyk –

+0

我知道了!非常感謝:D – nilajawill

2

在嘗試操作它之前,您必須先取消保護工作表,並且在更改已應用後恢復保護。

For Each ws In ActiveWorkbook.Sheets 
     ws.Unprotect 
     Set allCommentRng = ws.Cells.SpecialCells(xlCellTypeComments) 
     For Each Rng In allCommentRng 
      Rng.Comment.Visible = True 
     Next Rng 
     ws.Protect 
    Next ws 

上面的示例意味着沒有密碼保護。爲了克服密碼保護工作表中使用:

ws.Unprotect Password:="yourpasswordhere" 
ws.Protect Password:="yourpasswordhere" 
+0

謝謝你的幫助!我需要保護的工作簿,因爲我將分享給其他人。但是,我不希望他們能夠修改工作簿中的其他任何內容。他們只能點擊按鈕並顯示評論。我已將按鈕,合併的單元格和註釋解鎖,以便它們不受保護影響。但我不希望宏觀看其他部分。 – nilajawill

+0

對於密碼部分,是否有可以在後臺輸入密碼的宏?我嘗試添加密碼代碼,但當工作簿處於保護模式時,系統會提示輸入密碼。如果其他人擁有此工作簿,他們將無法訪問密碼。因此,在保護工作簿時,是否存在可以在後臺輸入密碼的宏?再次感謝你的幫助。 – nilajawill

+0

我懂了!非常感謝:D – nilajawill

相關問題