Страницы: 1
RSS
Вставка даты (из ячейки книги) в название файла при его сохранении макросом
 
Есть книга1 excel с кучей закладок, в одной из которых собираются данные для регулярных отчётов.
Делается макрос (макрорекордером), который создаёт книгу2 excel только с отчётом (для отправки в хэд-офис).
При сохранении файла (с включённой записью макроса) вводится название файла, например, "Отчёт по ...", а дальше нужно автоматически вставить дату, присутствующую в одной из ячеек книги1.
Это возможно как-то реализовать?
 
Код
"Отчёт по ..." & " " & range("A1").value
 
Код
... & Format(range("A1").value,"dd/mm/yy")
 
или
Код
& [a1].Text
это если в ячейке как утверждаете только дата, без времени.
 
Вот так, без изменения даты, всё работает:
Код
ActiveWorkbook.SaveAs Filename:="C:\Отчёт по 2016.06.25.xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
End Sub

Если вставить вместо даты код, получается:
Код
ActiveWorkbook.SaveAs Filename:="C:\Отчёт по " & " " & range("F3").value", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
End Sub

Или:
Код
ActiveWorkbook.SaveAs Filename:="C:\ Отчёт по &  Format(range("F3").value,"dd/mm/yy").xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
End Sub

Или:
Код
ActiveWorkbook.SaveAs Filename:="C:\ Отчёт по &  [F3].Text.xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
End Sub

По всем трем вариантам выдает ошибку. У меня подозрение на синтаксис, подскажите, где я напортачил?
 
везде - поскольку не ознакомились с Правилами - приложите файл с этим всем, в котором не работает...
p.s. в последних 2-х не позакрывали кавычки до & и не пооткрывали до точки-и-расширения... везде не указали откуда F3 - ThisWorkbook.Sheets("какой")... может ещё где - без файла неизвестно...
Изменено: JeyCi - 27.06.2016 20:49:57
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Цитата
presentt написал:
range("F3").value"
И здесь кавычки лишние...
 
Код
Sub qqq()
    Workbooks.Add 'Создали новую книгу
    ActiveWorkbook.SaveAs Filename:="C:\Отчёт по " & " " & ThisWorkbook.Sheets("Лист1").Range("F3").Value & ".xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
End Sub
 
Range("F3").Value скорее всего будет числом вроде 42548 - там ведь вроде как дату обещали.
 
Неа - я проверил: дата в имени ) Но для надёжности, ты прав: лучше .Text
 
Большое спасибо! Учел все замечания и заработало
Страницы: 1
Наверх