The first macro is based on yours to get the Sheet2 data, but the second is slightly simpler and doesn't require col G to be selected, just somewhere in the row -- your choice
Option Explicit
Sub RoundedRectangle3_Click_Orig()
Dim sTemp As String
' only works if cell in column G is selected
With ActiveCell
If .Column <> 7 Then Exit Sub
sTemp = .Offset(0, -2).Value
.Offset(0, -2).Value = Worksheets("Sheet2").Cells(.Row, 8).Value
Worksheets("Sheet2").Cells(.Row, 8).Value = sTemp
End With
End Sub
Sub RoundedRectangle3_Click()
Dim sTemp As String
With ActiveCell.EntireRow
sTemp = .Cells(5).Value
.Cells(5) = Worksheets("Sheet2").Cells(.Row, 8).Value
Worksheets("Sheet2").Cells(.Row, 8).Value = sTemp
End With
End Sub