That sort of error is not likely to happen if your cell references
are in the "R1C1" format. That takes out the actual letter labels
of the columns as well as the exact row numbers--and refers to the
cells in comparison to each other . . . so, have a look at the VBA
Help listing under "Address Property", which lists this series of
ways of identifying the cells:
Set mc = Worksheets("Sheet1").Cells(1, 1)
MsgBox mc.Address() ' $A$1
MsgBox mc.Address(RowAbsolute:=False) ' $A1
MsgBox mc.Address(ReferenceStyle:=xlR1C1) ' R1C1
MsgBox mc.Address(ReferenceStyle:=xlR1C1, _
RowAbsolute:=False, _
ColumnAbsolute:=False, _
RelativeTo:=Worksheets(1).Cells(3, 3)) ' R[-2]C[-2]
Then select the method which you need and use it for your copy
and paste process.