Cheers Skip,
I've changed it a lot this morning. I've tried to delete any bits that I think I might not need:
Here the revised code rather the old ones:
Sub BoQFormat()
Application.ScreenUpdating = False
Sheets("BoQ Prints"

.Select
LRow = Range("a65536"

.End(xlUp).Row
LCol = Range("o3"

.Column
'Range A6 TO D-last row
Range(Cells(6, 1), Cells(LRow, 4)).Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlTop
.WrapText = True
End With
'Range A3 TO D5
Range(Cells(3, 1), Cells(5, 4)).Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
End With
Range(Cells(3, 5), Cells(LRow, 5)).HorizontalAlignment = xlRight
Range(Cells(3, 6), Cells(LRow, 6)).HorizontalAlignment = xlLeft
Range(Cells(3, 12), Cells(LRow, LCol)).HorizontalAlignment = xlRight
Range(Cells(3, 7), Cells(LRow, 12)).NumberFormat = "£#,##0.00_);[Red](£#,##0.00)"
Range(Cells(3, LCol), Cells(LRow, LCol)).NumberFormat = "£#,##0.00_);[Red](£#,##0.00)"
Range(Cells(3, 5), Cells(5, 5)).Select
With Selection
.HorizontalAlignment = xlRight
.VerticalAlignment = xlCenter
End With
Range(Cells(3, 6), Cells(5, 6)).Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
End With
Range(Cells(3, 7), Cells(5, 11)).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Range(Cells(3, 12), Cells(5, 15)).Select
With Selection
.HorizontalAlignment = xlRight
.VerticalAlignment = xlCenter
End With
[L:O].EntireColumn.AutoFit
ActiveSheet.Outline.ShowLevels ColumnLevels:=1
Range(Cells(6, 1), Cells(LRow, LCol)).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
With ActiveSheet.PageSetup
.LeftFooter = ("BILLS OF QUANTITIES"

.RightFooter = ([p1]) + (". "

+ ([q1]) + (" ENQUIRY"

.CenterHorizontally = True
.FitToPagesWide = 1
End With
[a6].Select
Application.ScreenUpdating = True
End Sub
Sub PrintAllEnquires()
Application.ScreenUpdating = False
Sheets("BoQ Prints"

.Select
'Blank Out any rates from BoQ
Range("L6:L65536,O6:O65536"

.Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreaterEqual _
, Formula1:="0"
Selection.FormatConditions(1).Font.ColorIndex = 2
Selection.FormatConditions(1).Borders(xlLeft).LineStyle = xlNone
Selection.FormatConditions(1).Borders(xlRight).LineStyle = xlNone
Selection.FormatConditions(1).Borders(xlTop).LineStyle = xlNone
Selection.FormatConditions(1).Borders(xlBottom).LineStyle = xlNone
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLessEqual, _
Formula1:="0"
Selection.FormatConditions(2).Font.ColorIndex = 2
Selection.FormatConditions(2).Borders(xlLeft).LineStyle = xlNone
Selection.FormatConditions(2).Borders(xlRight).LineStyle = xlNone
Selection.FormatConditions(2).Borders(xlTop).LineStyle = xlNone
Selection.FormatConditions(2).Borders(xlBottom).LineStyle = xlNone
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="=""(blank)"""
Selection.FormatConditions(3).Font.ColorIndex = 2
Selection.FormatConditions(3).Borders(xlLeft).LineStyle = xlNone
Selection.FormatConditions(3).Borders(xlRight).LineStyle = xlNone
Selection.FormatConditions(3).Borders(xlTop).LineStyle = xlNone
Selection.FormatConditions(3).Borders(xlBottom).LineStyle = xlNone
Dim R As Long
'Loop till R = 65
For R = 6 To 65
'Cells(RowNumber,ColNumber)
If Cells(R, 18).Value > 0 Then
Cells(1, 16).Value = Cells(R, 18).Text
Application.ScreenUpdating = True
Application.ScreenUpdating = False
'Show All in Sub Ref Column
For Each pit In ActiveSheet.PivotTables("PivotTable2"

.PivotFields("Sub Ref"

.PivotItems
With pit
.Visible = True
End With
Next
'Show the Sub Ref in Cell P1 now named "SelectEnquiry"
For Each pit In ActiveSheet.PivotTables("PivotTable2"

.PivotFields("Sub Ref"

.PivotItems
With pit
If .Value = [SelectEnquiry].Value Then
.Visible = True
Else
.Visible = False
End If
End With
Next
'Show All in theMarkup Column
With ActiveSheet.PivotTables("PivotTable2"

.PivotFields("Markup"

.PivotItems("(blank)"

.Visible = True
.PivotItems("0"

.Visible = True
End With
Application.ScreenUpdating = False
'Refresh the data
ActiveSheet.PivotTables("PivotTable2"

.PivotCache.Refresh
Application.ScreenUpdating = False
'Show All in Sub Ref Column again
For Each pit In ActiveSheet.PivotTables("PivotTable2"

.PivotFields("Sub Ref"

.PivotItems
pit.Visible = True
Next
Application.ScreenUpdating = False
'Show the Pages only in the Markup column
With ActiveSheet.PivotTables("PivotTable2"

.PivotFields("Markup"

.PivotItems("(blank)"

.Visible = False
.PivotItems("0"

.Visible = False
End With
'Run Format Macro
Application.Run "BoQPrintsFormat"
'Print the enquiry
ActiveWindow.SelectedSheets.PrintOut Copies:=Cells(R, 20).Value, Collate:=True
End If
Next R
Range("L6:L65536,O6:O65536"

.Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="=""(blank)"""
Selection.FormatConditions(1).Font.ColorIndex = 2
Selection.FormatConditions(1).Borders(xlLeft).LineStyle = xlNone
Selection.FormatConditions(1).Borders(xlRight).LineStyle = xlNone
Selection.FormatConditions(1).Borders(xlTop).LineStyle = xlNone
Selection.FormatConditions(1).Borders(xlBottom).LineStyle = xlNone
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreaterEqual _
, Formula1:="0"
Selection.FormatConditions(2).Font.ColorIndex = xlAutomatic
Selection.FormatConditions(2).Borders(xlLeft).LineStyle = xlNone
Selection.FormatConditions(2).Borders(xlRight).LineStyle = xlNone
Selection.FormatConditions(2).Borders(xlTop).LineStyle = xlNone
Selection.FormatConditions(2).Borders(xlBottom).LineStyle = xlNone
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLessEqual, _
Formula1:="0"
Selection.FormatConditions(3).Font.ColorIndex = xlAutomatic
Selection.FormatConditions(3).Borders(xlLeft).LineStyle = xlNone
Selection.FormatConditions(3).Borders(xlRight).LineStyle = xlNone
Selection.FormatConditions(3).Borders(xlTop).LineStyle = xlNone
Selection.FormatConditions(3).Borders(xlBottom).LineStyle = xlNone
[a6].Select
Application.ScreenUpdating = True
End Sub
Thanks Skip
Andrew
![[pumpkin] [pumpkin] [pumpkin]](/data/assets/smilies/pumpkin.gif)