Hi Jeff,
Apologies if this shows up twice but I am unable
to locate my original response.
In the ThisWorkbook module (see below),
try:
'=============>>
Option Explicit
'-------------------->>
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim SH As Worksheet
Dim rCell As Range
Dim i As Long
Dim j As Long
Set SH = Me.Sheets("Sheet1") '<<==== CHANGE
Set Rng = SH.Range("A2, A4, A6") '<<==== CHANGE
ReDim Arr(1 To Rng.Cells.Count)
For Each rCell In Rng.Cells
j = j + 1
Arr(j) = rCell.Interior.ColorIndex
Next rCell
Rng.Interior.ColorIndex = xlNone
Application.OnTime Now, "AfterPrint"
End Sub
'<<=============
Change:
Set Rng = SH.Range("A2, A4, A6") '<<==== CHANGE
to reflect the cells of interest.
This is workbook event code and should
be pasted into the workbook's ThisWorkbook
module *not* a standard module or a sheet
module:
Right-click the Excel icon on the worksheet
(or the icon to the left of the File menu if your
workbook is maximised)
Select 'View Code' from the menu and paste
the code.
Alt-F11 to return to Excel.
In a standard module (see below),
paste the following code:
'=============>>
Option Explicit
Public Rng As Range
Public Arr() As Long
'-------------------->>
Public Sub AfterPrint()
Dim rCell As Range
Dim j As Long
For Each rCell In Rng.Cells
j = j + 1
rCell.Interior.ColorIndex = Arr(j)
Next rCell
End Sub
'<<=============
Alt-F11 to open the VBA Editor
Menu | Insert | Module
Paste the above code
Alt-F11 To return to Excel
Save the file.