Almost got it but just cant see where I have went wrong. Any help would be appreciated
Need to print only the rows where there is data. Excel seems to like printing all rows though
Sub Printsheet()
ActiveSheet.Unprotect
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
Rows("2:22").Select
Selection.EntireRow.Hidden = False
Dim LR As Long
LR = Range("B" & Rows.Count).End(xlUp).Row
With ActiveSheet
.PageSetup.BlackAndWhite = False
.PrintOut Copies:=1, Collate:=True
.PrintArea = Range("B1:G606" & LR).SpecialCells(xlCellTypeVisible).Address
End With
Rows("2:22").Select
Selection.EntireRow.Hidden = True
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
ActiveSheet.Protect
End Sub