I don't know why your particular line of code is failing. I have created a dummy workbook from the info you have provided and it works for me.
It is possible that you have a non visible character in there somewhere so try deleting the entire line (not just the code in the line but the entire line) and then re-type the line of code.
You can also try inserting the parameter "Destination:=" for the part that is to be pasted although it should work without it.
Also a few tips for your VBA coding.
Try to use variables that will be meaningful so that when you have code with hundreds of lines it is easy to identify what the variable is used for. I would code something like the following where the worksheet variables and range variables are easy to identify to what they represent. The benefit of using the prefix ws for worksheet and rng for range is a debateable issue but it does ensure that reserved words are not used and I always use them. However, the rest of the variable should be identifiable as to what it represents and in the following example I have abbreviated the item they represent.
Sub PrntForm()
Dim wsOrd As Worksheet, wsFrm As Worksheet, rngCust As Range, rngCell As Range
Set wsOrd = ThisWorkbook.Sheets("Order")
Set wsFrm = ThisWorkbook.Sheets("Form")
Set rngCust = wsOrd.Range("Customer") 'Defined Range Sheet Form F16:F27
For Each rngCell In rngCust
If rngCell.Value = "A" Then
rngCell.Copy Destination:=wsFrm.Range("E18") 'Get the customer name
rngCell.Offset(0, -4).Copy Destination:=wsFrm.Range("E29") 'Get the Date
wsFrm.PrintOut From:=1, To:=rngCell.Offset(0, -2).Value, Copies:=2, Collate:=False
End If
Next rngCell
End Sub