|I'll address your question in a moment, but first I'd like to offer a posting tip...|
Before posting any more VBA code in this forum, please click on the blue line at the end of this post and read the instructions on how to post example data and VBA so that it is easier for us to read. Thanks!
As for your question, I am unable to duplicate your error, but maybe I can help anyway.
It appears to me that the code you posted was created via the macro recorder. When I I see code that uses .Select fairly often and extra instructions (e.g. the duplicate .Save instructions) I assume that the macro was created by the VBA Recorder.
Rarely do you have to Select an object via VBA to perform an action on it. For example, these instructions...
Application.CutCopyMode = False
...can usually be reduced to a single instruction:
So since I can't duplicate your error, the best I can offer is to make your code a bit more efficient by eliminating the extra instructions, including the Selection of the "Print Form" sheet to see if that helps.
Note: I suggest that you test the following code in a backup copy of your workbook since macros can not easily be undone. The main concern I have is the fact that I am using the ActiveCell to Paste the copied data and the Now function. They may not end up where you actually want them, but that can be fixed if you'll give me some more detail as to what cells they belong in on the Print Form and Maintenance sheet.
' Print_Form Macro
'Copy ActiveCell Row
'PasteSpecial into Print Form shet
Worksheets("Print Form").Cells(ActiveCell.Row, 1).PasteSpecial _
Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
'Print Print Form sheet
'Put Date & Time in maintenace sheet
Sheets("maintenance").Range(ActiveCell.Address) = Now
'Save the Workbook
Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.