This macro works with your example:
Option Explicit
Sub testprinter()
Dim CLIENTS As Worksheet, _
INVOICE As Worksheet, _
PrintRange As Range, _
PrintBox As Range, _
RECNUM As Range, _
COMPANY As Range, _
ADDRESS As Range, _
MONTHLY As Range, _
LastRow As Long
Set CLIENTS = Sheets("clientlist")
Set INVOICE = Sheets("invoice template")
Set RECNUM = INVOICE.Range("B4")
Set COMPANY = INVOICE.Range("A6")
Set ADDRESS = INVOICE.Range("A7")
Set MONTHLY = INVOICE.Range("D13")
'count the number of cells in column a linked to check boxes
LastRow = CLIENTS.Cells(Rows.Count, "A").End(xlUp).Row
'set up the range of cells in column a linked to checkboxes
Set PrintRange = CLIENTS.Range("A3:A" & LastRow)
'loop through the range of linked cells for TRUE (i.e., box is checked, so print row)
For Each PrintBox In PrintRange
If PrintBox.Value = True Then
'copy data into the template
RECNUM.Value = PrintBox.Row - 2
COMPANY.Value = PrintBox.Offset(0, 1).Value
ADDRESS.Value = PrintBox.Offset(0, 2).Value
MONTHLY.Value = PrintBox.Offset(0, 3).Value
INVOICE.PrintOut Copies:=1
End If
Next PrintBox
End Sub
Bookmarks