Обратиться к ячейкам текущей книги после открытия другой
Мне необходимо считать значения из другой книги 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