You could give this a try:
Sub Test30()
Dim x As Integer
For x = 2 To 20
If Not IsEmpty(Range("M" & x)) Then
'Write B2:J2 into A2:I2
Range("A" & x).Resize(, 9).Value = Range("B" & x).Resize(, 9).Value
'Write M2 into J2
Range("J" & x).Value = Range("M" & x).Value
'Clear M2
Range("M" & x).ClearContents
End If
Next x
End Sub
or depending on exactly what you want perhaps:
Sub Test30()
Dim x As Integer
For x = 2 To 20
'Write B2:J2 into A2:I2
Range("A" & x).Resize(, 9).Value = Range("B" & x).Resize(, 9).Value
'Write M2 into J2
If Not IsEmpty(Range("M" & x)) Then
Range("J" & x).Value = Range("M" & x).Value
'Clear M2
Range("M" & x).ClearContents
End If
Next x
End Sub
(both untested)