Ошибка 438 при открытии книги с переменными - PullRequest
0 голосов
/ 02 июля 2018

Я все еще изучаю VBA, но я знаю, что это, скорее всего, простая ошибка, и мне нужна помощь в прохождении этого ошибочного кода. Переменная «isum», которую я создал, чтобы заменить книгу, которая ежедневно меняет свое имя, получает ошибку 438. Я не могу открыть ее с помощью «filepath & wb» из-за «&», поэтому я создал переменную для них обоих. Я пытаюсь скопировать раздел на листе из одной рабочей книги, вставив его в другую область листа другой рабочей книги. Вот мой код:

    Sub Summary()
Application.ScreenUpdating = False

'create variables
Dim wb As String
Dim filepath As String
Dim isum As Workbook
Dim CBD As Workbook

'variables for file with changing date in name title
filepath = "\\main\stuff\Summary\"
wb = "Today Summary " & Format(Date, "m.dd") - 0.01 & ".xlsb"

'open both
Set isum = Workbooks.Open(filepath & wb)
Set CBD = Workbooks.Open("\\main\other\CBD forecast.xlsx")

'copy
CBD.Sheets("Sheet3").Range("B3:J3000").Copy
'Now, transfer values from x to y:
isum.Sheets("Sheet7").Range("A2").Paste 'error 438, it copies but does not paste

'Close x:
CBD.Close

Application.ScreenUpdating = True
End Sub

1 Ответ

0 голосов
/ 02 июля 2018

файл wb как "Сводка за сегодня 6.29" для даты пятницы.

wb = "Today Summary " & Format(Date, "m.dd") - 0.01 & ".xlsb"

Вы, кажется, объединяете некоторую часть тестовой строки в нужное имя рабочей книги.

'variables for file with changing date in name title
filepath = "\\main\stuff\Summary\"
wb = "Today Summary " & Format(Date, "m.dd") & ".xlsb"

Также рекомендуется использовать параметр Destination операции копирования при вставке в одну цель.

CBD.Sheets("Sheet3").Range("B3:J3000").Copy _
   destination:=isum.Sheets("Sheet7").Range("A2")
...