1
下面的代码工作正常,如果我将进程拆分成3个独立的子文件夹,但我有问题将其组合到一个进程中。Excel VBA - 在一个工作表中调用多个子设备
理想情况下,我希望代码运行并临时解锁'Sheet',执行'Worksheet_Calculate'子,然后再次锁定'Sheet'。
有人请协助。
Private Sub UnprotectAll()
Dim sh As Worksheet
Dim yourPassword As String
yourPassword = "Test"
For Each sh In ActiveWorkbook.Worksheets
sh.Unprotect Password:=yourPassword
Next sh
End Sub
Private Sub Worksheet_Calculate()
Dim LastRow As Long, c As Range
Application.EnableEvents = False
LastRow = Cells(Cells.Rows.Count, "E").End(xlUp).Row
On Error Resume Next
Dim LastRow As Long, c As Range
Application.EnableEvents = False
LastRow = Cells(Cells.Rows.Count, "E").End(xlUp).Row
On Error Resume Next
For Each Dependents In Range("G6")
For Each HideDependents In Range("G18:G19")
If Dependents.Value = 0 Then
HideDependents.EntireRow.Hidden = True
ElseIf Dependents.Value >= 1 Then
HideDependents.EntireRow.Hidden = False
End If
Next
Next
For Each Vehicle In Range("G7")
For Each HideVehicle In Range("G45:G48")
If Vehicle.Value = 0 Then
HideVehicle.EntireRow.Hidden = True
ElseIf Vehicle.Value >= 1 Then
HideVehicle.EntireRow.Hidden = False
End If
Next
Next
For Each Joint In Range("G9")
For Each HideJoint In Range("I14:J65")
If Joint.Value = 0 Then
HideJoint.EntireColumn.Hidden = True
ElseIf Joint.Value = 1 Then
HideJoint.EntireColumn.Hidden = False
End If
Next
Next
On Error GoTo 0
Application.EnableEvents = True
End Sub
Private Sub ProtectAll()
Dim sh As Worksheet
Dim yourPassword As String
yourPassword = "Test"
For Each sh In ActiveWorkbook.Worksheets
sh.Protect Password:=yourPassword
Next sh
End Sub
谢谢您的答复,它的工作原理却是存在的脚本自动完成整个过程运行时,“G6:G9”任何方式的变化,因为我现在有,以便手动运行该命令,以使更改生效地点。 –
将以下内容添加到要自动更新/监视更改的工作表。 私人小组Worksheet_SelectionChange(BYVAL目标作为范围) 如果没有相交(目标,范围(“G6:G9”))是没有那么 呼叫结合 结束如果 结束小组 –
完美的作品,感谢你的帮助。 –