Hope you're all coping with the weather. I'm trapped at home so I've done a bit of research myself and come across a useful sub routine which can hide a column based on the value of in a cell. i.e.
If Range("B4").Value = 0 Then
Columns("H").EntireColumn.Hidden = True
Columns("H").EntireColumn.Hidden = False
which will hide column H if B4 contains the value 0.
I would assume the same can be used for Rows by substituting 'Row' for 'Column'. However, I want to check over 450 rows and also up to 40 columns, and I don't fancy writing nearly 500 of these lines into a sub-routine.
There is another point. The rows to be hidden could be anywhere down, but once a blank column occurs I know all the rest will be blank i.e if cell H1 is blank I wont need to print beyond column G.
My objective at the end of the day is to be able to print out from a 470 x 40 worksheet only those rows and columns which contain useful information (typically about 30 x 15).