Я получаю сообщение об ошибке компиляции этого кода, я пытаюсь нацелиться на SourceFileName
, не открывая его, и загружаю его в свой лист активной книги "извлечение данных"
Я получаю compile error, sub of function not defined
.
Sub test()
Set appxl = CreateObject("Excel.application")
Dim myfile As Window
Dim currentSheet As Worksheet
Dim lastRow As Double
Dim sourceFileName As String
sourceFileName = "File name"
'Open Source File.xlsx
With appxl
.Workbooks.Open ActiveWorkbook.Path & "\" & sourceFileName
.Visible = False
End With
'Get first sheet data
Set myfile = appxl.Windows(sourceFileName)
myfile.Activate
Set currentSheet = appxl.Sheets(12)
'Past the table in my current Excel file
lastRow = currentSheet.Range("A1").End(xlDown).Row
Sheets("Data retrieval").Range("A1:E" & lastRow) = currentSheet.Range("A1:E" & lastRow).Value
'Close Source File.xlsx
appxl.Workbooks(sourceFileName).Close
End Sub
После применения приведенной ниже рекомендации Option Explicit
и объявления appxl
я получаю следующую ошибку:
![enter image description here](https://i.stack.imgur.com/DHWDY.jpg)