Я пытаюсь скопировать указанные c ячейки из файла предыдущего дня и вставить их в то же место в моей текущей книге в виде текста.
Я хочу, чтобы это было сделано только в четверг.
Sub OpenFile()
If Weekday(Now()) = vbThursday Then
FileYear = Year(Date)
FileDate = Format(Date, "yymmdd")
FilePath = "I:\Example\2020\" & Format(Now() - 1, "yymmdd") & " " & _
"Sequentieanalyse werkblad.xlsm"
Workbooks.Open (FilePath)
Range("P48:Z57").Select
Selection.Copy
ActiveWorkbook.Close False
Sheets("Monsterlijst").Select
Range("P48:Z57").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
End Sub
Когда я запускаю свой код, я получаю сообщение, в котором содержится много информации в буфере обмена, и мне нужно выбрать «да», «нет» или «прервать», после чего следует ошибка 1004 времени выполнения с любым из параметров. .
Когда я использую Application.DisplayAlerts = False
, я также получаю ошибку времени выполнения 1004.
При удалении ActiveWorkbook.Close False
сообщений об ошибках нет, но моя информация будет вставлена обратно в книгу, из которой я копирую из моей текущей рабочей книги.
Я также хочу, чтобы файл предыдущего дня был закрыт для предотвращения путаницы.
Копирование работает, потому что если я отменю сообщение об ошибке, я могу вставить его вручную.
Как мне адаптировать код для запуска в пятницу вместо четверга, если четверг является выходным днем?