Thanks, Dreamboat !!! You ALWAYS seem to be "on your toes". Obviously, I'm not this morning. I'm certain, though, that I saw the code in the "Preview". I experienced more than one problem in the past with the "Preview" option, so perhaps it acted up this time ...or it could have been me.
Anyway, THANKS for noticing, and here's the code (WITHOUT using "Preview"

...
===========
VBA CODE
===========
Dim FirstCell As String
Dim LastCell As String
Dim LastRow As String
Dim LastColumn As String
Dim Print_Range As String
Dim data As Range
Sub Extract() 'extracts NON-BLANK rows to EXTRACTION Sheet
Application.ScreenUpdating = False
Delete_Existing 'deletes existing data from EXTRACTION sheet
'The following "extraction" requires creation of a Range Name
'called "data", with the top row of "data" being the row with
'field names, and the range including the entire range of data
'from which the extraction of non-blank rows is to take place.
'"crit" is another Range Name you need to assign to TWO cells.
'Create this name on the same sheet, off to the side out of the
'wayl. The first cell is to be left BLANK. In the cell below,
'enter the following formula: =A12="" where "A12" refers to the
'first row of data - the row immediately below the field names.
'(Change the reference to "A12" to refer to your first row of data).
'On a separate sheet, copy from the "data" range, those fields
'you want to have included in the report. Then assign the
'Range Name "out" to the row of field names.
Range("data"

.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:="crit", _
CopyToRange:=Range("out"

, _
Unique:=False
Application.Goto Reference:="out"
Get_Last_Row 'subroutine to determine last row in use
Set_PrintRange 'sets the print range
'and the extraction range to be copied
Application.ScreenUpdating = True
Application.Goto Reference:="R1C1"
End Sub
Sub Set_PrintRange() 'sets the print range
'and the extraction range to be copied
Application.Goto Reference:="out"
FirstCell = ActiveCell.Address
Get_Last_Row
LastColumn = "F" 'REQUIRES CHANGING based on extraction range
LastCell = LastColumn & LastRow
Print_Range = FirstCell & " : " & LastCell
Range(Print_Range).Name = "PR"
ActiveSheet.PageSetup.PrintArea = "PR"
ActiveSheet.PageSetup.PrintTitleRows = "top"
Range("PR"

.Select
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With
' Use the following line at the bottom (remove the " ' "

' if you want the report sent automatically to the printer.
' Currently, the print settings are already set, and the
' user ONLY has to use <Control> P <Enter>, or click on
' Excel's "Print Icon" at the top of the screen.
' ActiveWindow.SelectedSheets.PrintOut Copies:=1
End Sub
Sub Get_Last_Row() 'determines the last row in use
ActiveCell.SpecialCells(xlLastCell).Select
ActiveCell.Offset(3, 0).Select
ActiveCell.End(xlToLeft).Select
ActiveCell.End(xlUp).Select
LastRow = ActiveCell.Row
End Sub
Sub Delete_Existing() 'deletes existing data from the EXTRACTION sheet
Application.Goto Reference:="out"
ActiveCell.Offset(1, 0).Select
FirstCell = ActiveCell.Address
Get_Last_Row
ActiveCell.Offset(1, 0).Select 'used in case there is NO data in extraction range
LastRow = ActiveCell.Row
LastColumn = "F" 'REQUIRES CHANGING based on number fields extracted
LastCell = LastColumn & LastRow
Print_Range = FirstCell & " : " & LastCell
Range(Print_Range).Name = "PR"
Range("PR"

.Select
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlNone 'removes existing lines
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlNone 'removes existing lines
End With
Selection.Delete 'deletes existing data from EXTRACTION sheet
End Sub
============
END OF CODE
============
Please advise as to how useful this option is.
Regards, ...Dale Watson dwatson@bsi.gov.mb.ca