You can use a Workbook_BeforePrint event handler to set your print area, based on whether there is a value in the first row of the second sheet or not.
For example, the following event handler will evaluate cell A47 (the first cell in Page 2 based on my default settings). If A47 is blank, the print area will be set as A1:G46. If A47 is not blank, the print area will be set as A1:G92.
Copy the following code to the clipboard (highlight the entire code, right click inside the highlighted area, and Copy):
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Range("A47").Value = "" Then
ActiveSheet.PageSetup.PrintArea = "$A$1:$G$46"
Else
ActiveSheet.PageSetup.PrintArea = "$A$1:$G$92"
End If
End Sub
Press ALT + F11 (Function Key F11)
Double click 'This Workbook' in the Microsoft Excel VBA Project objects in the upper left quadrant.
Paste the event handler into the white editing area to the right (right click inside the area and 'Paste').
Close the VBE (red button w/white 'x' - upper right).
Call the Print function in the usual manner; File > Print, Ctrl + P, or create a command button with this macro attached:
Sub PrintPage ()
ActiveSheet.Printout
End Sub