Пока рабочая книга открыта, вы можете напрямую ссылаться на нее по ее имени.
Workbooks("workbook name")
и т. Д.
Поскольку вы открываете рабочую книгу с Sheets("sheet1").OLEObjects("SalesFile").Activate
книгой, связанной собъект будет открыт в виде файла с именем «Рабочий лист в вашей текущей рабочей книге ». Поэтому вы можете использовать:
Dim wb as workbook
Sheets("sheet1").OLEObjects("SalesFile").Activate
set wb = Workbooks("Worksheet in " & ThisWorkbook.Name)
Thisworkbook.sheets("Sheet1").Range("A1").value = wb.sheets("Sheet1").range("A1").Value 'etc. etc.
wb.Close
Thisworkbook
- это удобный инструмент, так как он всегда будет ссылаться на книгу, в которой находится макрос, несмотря на то, что книга активна в настоящее время.