Обратиться к ячейкам текущей книги после открытия другой

Мне необходимо считать значения из другой книги Excel с помощью макроса в текущей и записать в нее значения. После того, как я открываю книгу так:

Set wb = Workbooks.Open(path)

Или так:

With Workbooks.Open(path)
'...
End With

Все содержимое внутри кода до закрытия файла относится к новооткрытой книге, то есть:

wb.Worksheets(1).Range("A1")
With .Worksheets(1) ; .Range("A1")
Cells(1, 1)

Выполняют ровно одну и ту же работу обращаясь к открытой из макроса книге. А нужно, чтобы Cells относились к текущему листу в текущей книге, из которой запущен макрос, а обращение через точку вытягивало данные из открытой книги. Что я делаю не так?

P.S. ThisWorkbook, к сожалению, не работает, можно ли решить это как-то по-другому?


Ответы (1 шт):

Автор решения: vikttur
Sub jjj()
    Dim wb0 As Workbook, wb As Workbook
    Dim i As Long, sText As String, sPath As String
    
    ' .......................
    Set wb0 = ThisWorkbook

    ' sPath = ....
    Set wb = Workbooks.Open(sPath)
    
    i = wb.Worksheets(1).Range("A1").Value
    sText = wb0.Worksheets(1).Cells(1, 1).Value
    
    ' .......................
    Set wb0 = Nothing: Set wb = Nothing
End Sub
→ Ссылка