Добрый день! При нажатии на кнопку должен "скрытно" открываться файл, и с него должны копироваться данные в открытый документ на определенный лист. Ранее макрос работал хорошо, но встал вопрос "А что если файл будет в другом месте". После добавления ветвления макрос выдает ошибку Out of range. Почему? Переменной же был присвоен файл. В связи с чем ошибка? Спасибо!
Ошибка возникает в 24 строке
Код
Private Sub gkk_Click()
Sheets(1).Select
Range("B6:E9").Value = Range("B6:E9").Value
Set appxl = CreateObject("Excel.application")
Dim myfile As Window
Dim currentSheet As Worksheet
Dim lastRow As Double
Dim sourceFileName As String
sourceFileName = "гкк.xls"
With appxl
If Dir("C:\Users\User1\Downloads\") & sourceFileName = "" Then
.Workbooks.Open ("C:\Users\User1\Downloads\test") & sourceFileName
.Visible = False
Else
End If
End With
Set myfile = appxl.Windows(sourceFileName)
myfile.Activate
Set currentSheet = appxl.Sheets(1)
обратите внимание как это записано сейчас и как у Вас. Особенно на скобки. Все, что вне скобок - уже выходит за рамки аргумента. Строка с Dir имеет ту же ошибку и всегда по всей видимости будет не отвечать условию.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Дмитрий(The_Prist) Щербаков, спасибо. Исправил ошибку. Все работает. В том коде, что у меня был изначально, выходит что макрос просто проверял папку, но не понимал что в ней нужно открывать? Я правильно понимаю?