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