Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сохранение файла, с названием из формулы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранение файла, с названием из формулы (Макросы/Sub)
Сохранение файла, с названием из формулы
WolfDron Дата: Вторник, 06.01.2015, 00:22 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
В ячейке A1 прописана формула, которая выводит текст "Отчет "текущая дата"
Необходим скрипт сохранения файла по абсолютному пути, в определенную папку, с названием файла, соответствующим значению ячейки A1.
Попробовал записать скрипт, который копирует ячейку А1 и вставляет ее значением в ячейку А3, затем копирует значение ячейки А3 и сохраняет файл с этим значением в папку Отчеты.

Получился скрипт ниже, но я так понимаю, он сохраняет файл с фиксированным названием, не привязываясь к ячейке А1.

Есть у кого-то другие идеи реализации сохранения файла с названием из формулы?

[vba]
Код
Sub Save()
'
' Save Макрос
'

'
Range("A1").Select
Selection.Copy
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ChDir "C:\Documents\Отчеты
ActiveWorkbook.SaveAs Filename:="C:\Documents\Отчеты\Отчет 06.01.2015.xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Range("D2").Select
End Sub
[/vba]
[moder]Оформляйте коды тегами (кнопка #)[/moder]
К сообщению приложен файл: _06.01.2015.xlsm (18.8 Kb)
 
Ответить
СообщениеВ ячейке A1 прописана формула, которая выводит текст "Отчет "текущая дата"
Необходим скрипт сохранения файла по абсолютному пути, в определенную папку, с названием файла, соответствующим значению ячейки A1.
Попробовал записать скрипт, который копирует ячейку А1 и вставляет ее значением в ячейку А3, затем копирует значение ячейки А3 и сохраняет файл с этим значением в папку Отчеты.

Получился скрипт ниже, но я так понимаю, он сохраняет файл с фиксированным названием, не привязываясь к ячейке А1.

Есть у кого-то другие идеи реализации сохранения файла с названием из формулы?

[vba]
Код
Sub Save()
'
' Save Макрос
'

'
Range("A1").Select
Selection.Copy
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ChDir "C:\Documents\Отчеты
ActiveWorkbook.SaveAs Filename:="C:\Documents\Отчеты\Отчет 06.01.2015.xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Range("D2").Select
End Sub
[/vba]
[moder]Оформляйте коды тегами (кнопка #)[/moder]

Автор - WolfDron
Дата добавления - 06.01.2015 в 00:22
Staniiislav Дата: Вторник, 06.01.2015, 01:21 | Сообщение № 2
Группа: Проверенные
Ранг: Новичок
Сообщений: 28
Репутация: 3 ±
Замечаний: 0% ±

2010
Попробуйте так:

[vba]
Код
Sub CopyXLSM()
Dim FileNameXLSM As String, DirXLSM As String
     DirXLSM = "C:\Documents\Отчеты\"
     FileNameXLSM = Sheets("Лист1").Range("A1").Value & ".xlsm"

     If Dir(DirXLSM & FileNameXLSM) <> "" Then
         If MsgBox("Фаил " & "[" & FileNameXLSM & "] уже существует в папке " & "[" & DirXLSM & "]" & "!!! Заменить его? ", 32 + vbYesNo, "Подтверждение") <> vbYes Then Exit Sub
         ActiveWorkbook.SaveCopyAs Filename:=DirXLSM & FileNameXLSM
     Else
         ActiveWorkbook.SaveCopyAs Filename:=DirXLSM & FileNameXLSM
     End If
End Sub
[/vba]


Единственный способ стать умнее, играть с более умным соперником
 
Ответить
СообщениеПопробуйте так:

[vba]
Код
Sub CopyXLSM()
Dim FileNameXLSM As String, DirXLSM As String
     DirXLSM = "C:\Documents\Отчеты\"
     FileNameXLSM = Sheets("Лист1").Range("A1").Value & ".xlsm"

     If Dir(DirXLSM & FileNameXLSM) <> "" Then
         If MsgBox("Фаил " & "[" & FileNameXLSM & "] уже существует в папке " & "[" & DirXLSM & "]" & "!!! Заменить его? ", 32 + vbYesNo, "Подтверждение") <> vbYes Then Exit Sub
         ActiveWorkbook.SaveCopyAs Filename:=DirXLSM & FileNameXLSM
     Else
         ActiveWorkbook.SaveCopyAs Filename:=DirXLSM & FileNameXLSM
     End If
End Sub
[/vba]

Автор - Staniiislav
Дата добавления - 06.01.2015 в 01:21
WolfDron Дата: Вторник, 06.01.2015, 12:38 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Staniiislav, Спасибо, все работает, как и хотел.
 
Ответить
СообщениеStaniiislav, Спасибо, все работает, как и хотел.

Автор - WolfDron
Дата добавления - 06.01.2015 в 12:38
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранение файла, с названием из формулы (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!