有人能帮助我解决与VBA 中的“过程太大”错误相关的问题吗?
我使用Private Sub Worksheet_Calculate()
自动隐藏和取消隐藏行,我想为触发器设置 275 个单元格。下面的示例仅显示了 10 个触发器单元格,我想创建 275 个触发器单元格
`Private Sub Worksheet_Calculate()
Set iCell = Range("G38")
Set iCell2 = Range("G70")
Set iCell3 = Range("G102")
Set iCell4 = Range("G134")
Set iCell5 = Range("G166")
Set iCell6 = Range("G198")
Set iCell7 = Range("G230")
Set iCell8 = Range("G262")
Set iCell9 = Range("G294")
Set iCell10 = Range("G326")
Application.EnableEvents = False
byFALSE1Hidden = Rows("38:68").Hidden
byTRUE1Hidden = Rows("10000:10000").Hidden
' New logic for trigger 2
byFALSE2Hidden = Rows("70:100").Hidden
byTRUE2Hidden = Rows("10001:10001").Hidden
' New logic for trigger 3
byFALSE3Hidden = Rows("102:132").Hidden
byTRUE3Hidden = Rows("10002:10002").Hidden
' New logic for trigger 4
byFALSE4Hidden = Rows("134:164").Hidden
byTRUE4Hidden = Rows("10003:10003").Hidden
' New logic for trigger 5
byFALSE5Hidden = Rows("166:196").Hidden
byTRUE5Hidden = Rows("10004:10004").Hidden
' New logic for trigger 6
byFALSE6Hidden = Rows("198:228").Hidden
byTRUE6Hidden = Rows("10005:10005").Hidden
' New logic for trigger 7
byFALSE7Hidden = Rows("230:260").Hidden
byTRUE7Hidden = Rows("10006:10006").Hidden
' New logic for trigger 8
byFALSE8Hidden = Rows("262:292").Hidden
byTRUE8Hidden = Rows("10007:10007").Hidden
' New logic for trigger 9
byFALSE9Hidden = Rows("294:324").Hidden
byTRUE9Hidden = Rows("10008:10008").Hidden
' New logic for trigger 10
byFALSE10Hidden = Rows("326:356").Hidden
byTRUE10Hidden = Rows("10009:10009").Hidden
If iCell.value = "FALSE1" Then
If Not byFALSE1Hidden Then
Rows("38:68").Hidden = True
Rows("10000:10000").Hidden = False
End If
ElseIf iCell.value = "TRUE1" Then
If Not byTRUE1Hidden Then
Rows("38:68").Hidden = False
Rows("10000:10000").Hidden = True
End If
End If
' New logic for trigger 2
If iCell2.value = "FALSE2" Then
If Not byFALSE2Hidden Then
Rows("70:100").Hidden = True
Rows("10001:10001").Hidden = False
End If
ElseIf iCell2.value = "TRUE2" Then
If Not byTRUE2Hidden Then
Rows("70:100").Hidden = False
Rows("10001:10001").Hidden = True
End If
End If
' New logic for trigger 3
If iCell3.value = "FALSE3" Then
If Not byFALSE3Hidden Then
Rows("102:132").Hidden = True
Rows("10002:10002").Hidden = False
End If
ElseIf iCell3.value = "TRUE3" Then
If Not byTRUE3Hidden Then
Rows("102:132").Hidden = False
Rows("10002:10002").Hidden = True
End If
End If
' New logic for trigger 4
If iCell4.value = "FALSE4" Then
If Not byFALSE4Hidden Then
Rows("134:164").Hidden = True
Rows("10003:10003").Hidden = False
End If
ElseIf iCell4.value = "TRUE4" Then
If Not byTRUE4Hidden Then
Rows("134:164").Hidden = False
Rows("10003:10003").Hidden = True
End If
End If
' New logic for trigger 5
If iCell5.value = "FALSE5" Then
If Not byFALSE5Hidden Then
Rows("166:196").Hidden = True
Rows("10004:10004").Hidden = False
End If
ElseIf iCell5.value = "TRUE5" Then
If Not byTRUE5Hidden Then
Rows("166:196").Hidden = False
Rows("10004:10004").Hidden = True
End If
End If
' New logic for trigger 6
If iCell6.value = "FALSE6" Then
If Not byFALSE6Hidden Then
Rows("198:228").Hidden = True
Rows("10005:10005").Hidden = False
End If
ElseIf iCell6.value = "TRUE6" Then
If Not byTRUE6Hidden Then
Rows("198:228").Hidden = False
Rows("10005:10005").Hidden = True
End If
End If
' New logic for trigger 7
If iCell7.value = "FALSE7" Then
If Not byFALSE7Hidden Then
Rows("230:260").Hidden = True
Rows("10006:10006").Hidden = False
End If
ElseIf iCell7.value = "TRUE7" Then
If Not byTRUE7Hidden Then
Rows("230:260").Hidden = False
Rows("10006:10006").Hidden = True
End If
End If
' New logic for trigger 8
If iCell8.value = "FALSE8" Then
If Not byFALSE8Hidden Then
Rows("262:292").Hidden = True
Rows("10007:10007").Hidden = False
End If
ElseIf iCell8.value = "TRUE8" Then
If Not byTRUE8Hidden Then
Rows("262:292").Hidden = False
Rows("10007:10007").Hidden = True
End If
End If
' New logic for trigger 9
If iCell9.value = "FALSE9" Then
If Not byFALSE9Hidden Then
Rows("294:324").Hidden = True
Rows("10008:10008").Hidden = False
End If
ElseIf iCell9.value = "TRUE9" Then
If Not byTRUE9Hidden Then
Rows("294:324").Hidden = False
Rows("10008:10008").Hidden = True
End If
End If
' New logic for trigger 10
If iCell10.value = "FALSE10" Then
If Not byFALSE10Hidden Then
Rows("326:356").Hidden = True
Rows("10009:10009").Hidden = False
End If
ElseIf iCell10.value = "TRUE10" Then
If Not byTRUE10Hidden Then
Rows("326:356").Hidden = False
Rows("10009:10009").Hidden = True
End If
End If
Application.EnableEvents = True
End Sub
谢谢。