有没有一种方法可以限制Excel中运行多个宏的锁定单元格?

时间:2019-01-29 22:13:21

标签: excel

在受保护的工作表上使用宏时,我需要帮助。

我不熟悉Excel代码,并且创建了一个宏。但是,在excel表中,我只希望某些单元格是可编辑的。除了我要锁定的单元格之外,整个工作表均已锁定单元格。但是,保护工作表后,我的一个宏不再起作用。我需要帮助。下面是我拥有的一个宏,我只需要另一个宏,以使未锁定的单元格仍然可以运行该宏。

这是我拥有的一个宏,它确实起作用...

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "B27" Then
    Select Case Target.Value
        Case "None": Rows("28:44").Hidden = True
        Case "Custom Packaging": Rows("29:35").Hidden = True: Rows("36:39").Hidden = False: Rows("40:44").Hidden = False
        Case "Stock Packaging": Rows("29:35").Hidden = False: Rows("36:39").Hidden = True: Rows("40:44").Hidden = False
    End Select
End If
End Sub

1 个答案:

答案 0 :(得分:0)

正如@Selkie所说,只需根据需要解锁/锁定工作表:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address(False, False) = "B27" Then

        ActiveSheet.Unprotect "mypassword"

        Select Case Target.Value
            Case "None": Rows("28:44").Hidden = True
            Case "Custom Packaging": Rows("29:35").Hidden = True: Rows("36:39").Hidden = False: Rows("40:44").Hidden = False
            Case "Stock Packaging": Rows("29:35").Hidden = False: Rows("36:39").Hidden = True: Rows("40:44").Hidden = False
        End Select

        ActiveSheet.Protect "mypassword"

    End If

End Sub