2015-07-02 95 views
0

我正在構建一個Excel表格。 Excel表格將根據在不同單元格中選擇的內容顯示或隱藏某些行。例如(僞)。在Excel中鎖定單元格,但仍允許顯示/隱藏

如果B6 =「是」,顯示7行,否則隱藏行7

我想鎖住細胞,使它們不能改變的標題和標題,但仍然能夠隱藏在特定的行的情況。當單元格被鎖定時,我的VBA代碼無法隱藏或取消隱藏行。

任何幫助,將不勝感激;我尋找答案,但沒有發現我的具體情況。

回答

3

下面是我創建的一個例程,以便鎖定所有內容,但允許儘可能多的功能。您可以根據需要編輯參數。運行後,我可以隱藏一行。

Sub ProtectSheetsNoPassword() 
    Dim wb As Workbook 
    Dim ws As Worksheet 
    Set wb = ActiveWorkbook 
    For Each ws In wb.Worksheets 
     ws.Protect DrawingObjects:=True, _ 
        Contents:=True, _ 
        Scenarios:=True, _ 
        AllowFormattingCells:=True, _ 
        AllowFormattingColumns:=True, _ 
        AllowFormattingRows:=True, _ 
        AllowInsertingColumns:=True, _ 
        AllowInsertingRows:=True, _ 
        AllowInsertingHyperlinks:=True, _ 
        AllowDeletingColumns:=True, _ 
        AllowDeletingRows:=True, _ 
        AllowSorting:=True, _ 
        AllowFiltering:=True, _ 
        AllowUsingPivotTables:=True 
     'ws.Unprotect 'Uncomment if you want to unprotect the sheets 
    Next 
End Sub 

AllowFormattingRows:=True參數是您需要關注的用於隱藏行的參數。

+0

這段代碼不能編譯,並且返回語法錯誤?我不確定所需的語法,但複製粘貼,因爲它不起作用。 –

+1

您是否刪除了中間的評論?在那之後,我把它放在那裏,以引起你的注意。 –

+0

謝謝,它現在編譯。對它進行一些編輯,看它是否像我需要的那樣工作。欣賞快速反應。編輯:工作。謝謝 –

2

當保護工作表時,您可以指出用戶應該能夠做什麼以及不能做什麼。我相信下面的代碼會達到你想要的:

Sheet1.Protect Password:="yourPassword", DrawingObjects:=True, Contents:=True, Scenarios:=True _ 
    , AllowFormattingCells:=True, AllowFormattingColumns:=True, _ 
    AllowFormattingRows:=True, AllowSorting:=True, AllowFiltering:=True, _ 
    AllowUsingPivotTables:=True, UserInterfaceOnly:=True 
+0

你的作品,但我選擇了另一個作爲答案。你幾乎提交了同樣的東西,但他的格式更好。感謝迴應! –

相關問題