Sub Import_from_BOM()
'Copy from Workbook to Workbook
Dim wb As Workbook
Dim wb2 As Workbook
Set wb = ThisWorkbook
'~~> Get the first File
Ret1 = Application.GetOpenFilename("Excel Files (*.xls*), *.xls*", _
, "Please select first file")
Set wb2 = Workbooks.Open(Ret1)
Columns("A:G").Select
Selection.Copy
wb.Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
wb.Activate
ActiveWorkbook.Close
End Sub[/pre]
-----
It uses 2 workbooks, one (wb2) selected and opened from a dialog and other (wb) as ThisWorkbook. Then it copies the 1st 7 columns of the sheet where wb2 happened to get saved from, to the active sheet of wb.
The main issue here is that wb refers to ThisWorkbook, in this case PERSONAL.XSLB, and that's why the data is copied into it. If you wanted that data got copied in the workbook that you had previously opened and selected as active when you run the macro from your personal macro workbook, you should replace the reference from ThisWorkbook to ActiveWorkbook as follows:
-----
Set wb = ActiveWorkbook