合并 VBA 中的三个程序

Combine three procedures in VBA

下午好,

我正在尝试合并以下三个 VBA 片段,但没有成功。搜索对我没有多大帮助。非常感谢任何帮助。

Sub UnProtectSheetWithPassword()

Sheets("Sheet2").Unprotect Password:="myPassword

End Sub"
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = Range("O3").Address Then
        Range("B8:Q507").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("O2:O3")
    End If
End Sub
Sub ProtectSheetWithPassword()

Sheets("Sheet2").Protect Password:="myPassword"

End Sub

也许这就是你想要的?

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = Range("O3").Address Then
        Sheets("Sheet2").Unprotect Password:="myPassword"
        Range("B8:Q507").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("O2:O3")
        Sheets("Sheet2").Protect Password:="myPassword"
    End If
End Sub