Excel VBA清除错误1004使用表格保护时隐藏和取消隐藏macros

当隐藏和取消隐藏工作表中的行时,出现错误1004,此工作表受到保护,但确实允许用户格式化允许用户隐藏和取消隐藏Excel工作表上的行的行。 虽然下面的代码可以工作,但它给了一个错误1004告诉我保护,我需要摆脱的表,我相信这个问题是因为我select的单元格我想隐藏/取消隐藏,但我不知道如何修改它只是告诉我希望隐藏/取消隐藏的单元格范围

Sub Show_menu() Rows("20:20").Select Rows("20:44").Select Selection.EntireRow.Hidden = False Rows("45:45").Select Rows("45:128").Select Selection.EntireRow.Hidden = True End Sub 

尝试这个:

 Sub Show_menu() Sheets("yoursheetname").Unprotect Password:="abc" Rows("20:20").Select Rows("20:44").Select Selection.EntireRow.Hidden = False Rows("45:45").Select Rows("45:128").Select Selection.EntireRow.Hidden = True Sheets("yoursheetname").Protect Password:="abc", AllowFormattingRows:=True End Sub 

附加

 AllowFormattingCells:=True ' to allow formatting 

 Sheets("yoursheetname").EnableSelection = xlUnlockedCells ' to allow unlocked cell in protected book