Как исправить ошибку времени выполнения «13»: несоответствие типов, которое резонирует с кодом VBA? - PullRequest
0 голосов
/ 06 мая 2019

Я получаю эту ошибку, основываясь на этой части кода -

ActiveWorkbook.SaveAs ActiveWorkbook.Path + "/Roll Call Report_" + strCenter + " " + Format(Str(Sheets("Summary & Instructions").Range("K1").Value), "mmddyy") + ".xlsx", FileFormat:=51

Я немного растерялся из-за того, почему это не удается. Полный код ниже -

Application.DisplayAlerts = False
strCenter = (Sheets("Summary & Instructions").Range("L1").Value)
ActiveWorkbook.SaveAs ActiveWorkbook.Path + "/Roll Call Report_" + strCenter + " " + Format(Str(Sheets("Summary & Instructions").Range("K1").Value), "mmddyy") + ".xlsx", FileFormat:=51
Application.DisplayAlerts = True

Чего мне не хватает?

1 Ответ

1 голос
/ 06 мая 2019

Используйте & для конкатенации строк и не конвертируйте значение даты.Добавление начального пробела в маску формата сокращает количество элементов.

Вы можете позволить аргументу FileFormat назначить правильное расширение файла.

 ActiveWorkbook.SaveAs ActiveWorkbook.Path & "/Roll Call Report_" & strCenter & Format(Sheets("Summary & Instructions").Range("K1").Value, " mmddyy"), FileFormat:=51
...