Я делаю VBA для чтения данных из файла Excel. Он прекрасно работает, когда этот исходный файл не открыт.
Однако, если сначала открыть исходный файл, а затем запустить этот код, он выдаст ошибку «Подписка вне диапазона».
Интересно то, что если я сначала открыл свой файл кода, а затем открою этот исходный файл, он не запустится, и исходный файл закроется.
Option Explicit
Sub ReadDetail()
Application.ScreenUpdating = False
Dim i As Integer
For i = 1 To 13
Dim xlspath As String
Dim WB As Workbook
Dim SALES_ORDER As Range
Set SALES_ORDER = ThisWorkbook.Sheets("SO Details").Range("C" & i + 3)
xlspath = "P:\Scheduling\Purchasing Schedule REV2.xlsx"
Set WB = Workbooks.Open(xlspath, True, True)
SALES_ORDER.Value = WB.Worksheets("Active").Range("AA22").Value
WB.Close False
Set WB = Nothing
Next i
End Sub