Hello good morning,
Can someone help to find out why does this VBA code runs so slow? I'm sure there must be a way of reducing this code to something much more simple wich optimizes the calculations.
It's a macro code to hide or unhide cells depending if they are empty or not:
Sub HideFuelRows()
Application.ScreenUpdating = False
If [B9] = "Equipment" Then
[a9:a47].EntireRow.Hidden = True
Else
If [B14] = "" Then
[a14:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B15] = "" Then
[a15:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B16] = "" Then
[a16:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B17] = "" Then
[a17:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B18] = "" Then
[a18:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B19] = "" Then
[a19:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B20] = "" Then
[a20:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B21] = "" Then
[a21:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B22] = "" Then
[a22:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B23] = "" Then
[a23:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B24] = "" Then
[a24:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B25] = "" Then
[a25:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B26] = "" Then
[a26:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B27] = "" Then
[a27:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B28] = "" Then
[a28:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B29] = "" Then
[a29:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B30] = "" Then
[a30:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B31] = "" Then
[a31:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B32] = "" Then
[a32:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B33] = "" Then
[a33:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B34] = "" Then
[a34:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B35] = "" Then
[a35:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B36] = "" Then
[a36:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B37] = "" Then
[a37:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B38] = "" Then
[a38:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B39] = "" Then
[a39:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B40] = "" Then
[a40:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B41] = "" Then
[a41:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B42] = "" Then
[a42:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B43] = "" Then
[a43:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B44] = "" Then
[a44:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B45] = "" Then
[a45:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
If [B46] = "" Then
[a46:a46].EntireRow.Hidden = True
Else
[a9:a47].EntireRow.Hidden = False
End If
End If
End Sub
The complete VBA code has 5 times what I have paste above and so it runs much more slower than this one. I didn't paste it all complete code cause it runs out of characters admited...
Hope someone can guide me with this.
Thank you very much in advance.
Kind Regards,
pezalmendra
Bookmarks