Just to add to Micron's changes, it is easier to use individual variables to follow the object hierarchy (in your original version you were repeating the reference to the sheet inside the second With statement):
Code:
Dim xl As Object 'Excel application
Dim xbk as Object 'Excel workbook
Dim xls as Object 'Excel sheet
Set xl = CreateObject("Excel.Application")
Set xbk=xl.Workbooks.Open(myfile, , True)
Set xls=xbk.Sheets("Statistics")
With xls
.Range("B1").Select
.PivotTables("PivotTable1").PivotFields("ASSET").Orientation = xlHidden
.Range("B2").Select
.PivotTables("PivotTable1").PivotFields("CLUSTER").Orientation = xlHidden
End With
xl.DisplayAlerts = False
myfilenew = Mid(myfile, 1, Len(myfile) - 5) & "-R1.xlsb"
.SaveAs Filename:=myfilenew, FileFormat:=50
.Close
xl.DisplayAlerts = True
xl.Quit 'close Excel
Kill (myfile)
Name myfilenew as myfile 'reset file name to original so your other code works without changes
Set xls = Nothing
Set xbk = Nothing
Set xl = Nothing
End Function