Here's a possible solution:
1. Use checkboxes from the Forms Toolbar; not the Control Toolbox (the
former are more stable when used on worksheets). Ypu will probably want to
uncheck "Print Object" in the Format Control dialog.
2. Right-click on each one and set its LinkedCell property to a cell in the
row that the checkbox relates to (say in column Z, if that's far enough
out). You can even hide the column as it serves no purpose other than to
carry the value of the checkboxes.
3. Put the following code in the ThisWorkbook code module:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim c As Range
With ActiveSheet
For Each c In Intersect(.UsedRange, .Range("Z:Z"))
If c = True Then c.EntireRow.Hidden = True
Next
Application.EnableEvents = False
On Error GoTo ErrorHandler
.PrintOut
Application.EnableEvents = True
End With
ErrorHandler:
MsgBox "Error " & Err.Number & vbNewLine & Err.Description, _
vbOKOnly + vbCritical, "Error"
ActiveSheet.UsedRange.EntireRow.Hidden = False
Application.EnableEvents = True
End Sub
It's really pretty messy but hopefully will put you on the right track.
--
Vasant