Невозможно установить переменную листа Excel VBA - PullRequest
0 голосов
/ 06 января 2019

Я пытаюсь установить исходную переменную рабочего листа в целевую переменную рабочего листа в другой книге (DataSource1.xlsx) с целью в конечном итоге использовать ее для чтения целевого рабочего листа и выполнения некоторых вычислений, но это дает мне индекс вне диапазона ошибка.

Это мой код

Sub GenerateReport()

Dim source As Worksheet

Dim path As String    
Set source= Workbooks(ThisWorkbook.path & "\DataSource1.xlsx").Sheets("Sheet1")

'path = ThisWorkbook.path

'Set wb = Workbooks.Open(ThisWorkbook.path & "\DataSource1.xlsx")

Dim one As Integer

one = 10

End Sub

Файл находится в одной папке, и я проверил, нет ли ошибок имен и путей, почему это происходит?

EDIT

Так выглядит мой проект после комментариев GSerg

enter image description here

1 Ответ

0 голосов
/ 06 января 2019

Если рабочая книга уже открыта, необходимо обратиться к ней по имени без пути:

Set source = Workbooks("DataSource1.xlsx").Sheets("Sheet1")

Если книга еще не открыта, сначала нужно открыть ее:

Set source = Workbooks.Open(ThisWorkbook.path & "\DataSource1.xlsx").Sheets("Sheet1")
...