Your pictures of spreadsheets are unreadable, so it is difficult to help you. However you state:
the problem is that every week the excel column change and I have to only paste 3 specific columns.
Do the columns you need to copy always have the same header? because if they do you can get vba to automatically identify which columns to copy.
If this is not possible, a better way of getting the user to choose the right colums is to allow the user to select the columns with the mouse. This code shows you how to do this:
Dim oRangeSelected As Range
On Error Resume Next
Set oRangeSelected = Application.InputBox("Put a suitable message in here!", _
"SelectARAnge Demo", Selection.Address, , , , , 8)
If oRangeSelected Is Nothing Then
Else
firstrow = oRangeSelected.Row
firstcol = oRangeSelected.Column
MsgBox (firstrow & "/" & firstcol)
End If