Can someone help me make this more efficient? It is running around 10 seconds. Thanks much!
I've adapted this code to hide rows that contain "Hide" as the result of a formula in column A of my worksheet.
Sub Hide_Rows()
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = False
With ActiveSheet
For Each cell In .Range("a7:a115")
If cell.Value = "Hide" Then
cell.EntireRow.Hidden = True
End If
Next
End With
Application.ScreenUpdating = True
End Sub
I have a similar Show_Rows sub that unhides the hidden rows. I have linked the button result (True or False) to cell A1 and then I'm using an If statement to either Hide_Rows or Show_Rows in the check box VBA
Private Sub CheckBox1_Click()
If Cells(1, 1).Value = True Then
Hide_Rows
Else
Show_Rows
End If
End Sub
Your problem may be with lots of complicated formulas like David Zemens says. You have the right idea with the
Application.Calculation
but it should beApplication.Calculation = xlCalculationManual
at the start, and thenApplication.Calculation = xlCalculationAutomatic
at the end.