codice:
Sub MayBe()
CellaAttiva = ActiveCell.Address
riga = ActiveCell.Row
colonna = ActiveCell.Column
If riga < 4 Then
MsgBox "ERRORE" & vbCrLf & "CellaAttiva = " & CellaAttiva & vbCrLf & _
"riga = " & riga & vbCrLf & "colonna = " & colonna
Exit Sub
End If
Range(Cells(riga - 3, colonna), Cells(riga - 1, colonna)).Activate
Selection.Copy
Range(Cells(riga + 1, colonna), Cells(riga + 3, colonna)).Activate
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Cells(riga, colonna).Activate
End Sub
nel foglio, puoi creare una "forma" a cui assegnare il nome della macro
trasformandola in "bottone" per eseguirla dopo aver attivato la cella
ciao
Marino
ps se ho sbagliato un indice di riga (+ 0 e +2 ) lo correggi tu