Открытая / закрытая рабочая книга
При обращении к открытой рабочей книге вы должны использовать ее имя, т.е. имя файла, например, "Consolidate Macro.xlsm
".Если он не открыт, вам придется использовать полный путь к открыть , если он не находится в текущем каталоге (лучше всего всегда).
Код
Option Explicit
Sub Test_wkb()
Dim wkb As String
Dim wbcount As Long
Dim i As Long
wbcount = Workbooks.Count
For i = 1 To wbcount
wkb = Workbooks(i).Path & "\" & Workbooks(i).Name
Debug.Print wkb
Next
Dim wkbTempStr As String
Dim wkbTemp As Workbook
Dim wksTemp As Worksheet
wkbTempStr = "C:\Users\JohnDoe\Desktop\Consolidate Macro.xlsm"
' If you want to suppress the message alerting that the workbook is already
' open, uncomment the two "Application ..." lines.
'Application.DisplayAlerts = False
Set wkbTemp = Workbooks.Open(wkbTempStr)
'Application.DisplayAlerts = True
Set wksTemp = wkbTemp.Sheets("Pay")
'just seeing if code works below
wksTemp.Range("I18") = "This works"
End Sub
Используя имя файла (Workbook.Name
), вы можете просмотреть открытые книги и проверить, открыто ли оно.Если это не так, используйте путь, чтобы открыть его.