Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
29.03.2024, 14:51:17

Войти
На форуме добавлена возможность подписки на RSS-ленты любого раздела форума. Подписаться можно, нажав на иконку RSS , расположенную левее наименования раздела.
33 233 Сообщений в 5 454 Тем от 6 753 Пользователей
Последний пользователь: malanik777
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по Excel и VBA
| | |-+  Макрос сохранения с присвоением имени файла из двух ячеек
Страниц: [1]   Вниз
Печать
Автор Тема: Макрос сохранения с присвоением имени файла из двух ячеек  (Прочитано 4694 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Артур
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 4


Просмотр профиля
« : 10.12.2018, 12:57:56 »

Всем доброго времени суток!
Пожалуйста, подскажите, в чём неправильно составлен код?
Код: (vb)
Sub СохранитьЛистВФайл()
On Error Resume Next
    ' название подпапки, в которую по-умолчанию будет предложено сохранить файл
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs [B14]
    Application.DisplayAlerts = True
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs [D14]
    Application.DisplayAlerts = True
    
    ' вывод диалогового окна для запроса имени сохраняемого файла
    Filename = "c:\Users\Admin\Documents\Служебные записки на формирование цены автомобиля trade-in" & Range("a1") & ".xls"
    
    ' если пользователь отказался от выбора имени файла - отменяем сохранение листа в файл
    If VarType(Filename) = vbBoolean Then Exit Sub
 
    ' копируем активный лист (при этом создаётся новая книга)
    Err.Clear: ActiveSheet.Copy: DoEvents
    If Err Then Exit Sub    ' произошла какая-то ошибка при попытке копирования листа
 
    ' убеждаемся, что активной книгой является копия листа
    If ActiveWorkbook.Worksheets.Count = 1 And ActiveWorkbook.Path = "" Then
        ' сохраняем файл под заданным именем в формате Excel 2010
        ActiveWorkbook.SaveAs Filename, xlWorkbookNormal
 
        ' закрываем сохранённый файл
        ' (удалите следующую строку, если закрывать созданный файл не требуется)
        ActiveWorkbook.Close False
    End If
End Sub

Объясняю, что я хочу, что бы у меня получилось. В ячейках B14 и D14 хранятся данные о модели автомобиля и его VIN
соответственно. Когда я буду сохранять нужный мне файл в папку "Служебные записки на формирование цены автомобиля trade-in", в поле "имя файла" должны автоматически появляться данные о модели и VIN автомобиля.
Помогите, пожалуйста, исправить код.
« Последнее редактирование: 10.12.2018, 12:59:17 от vikttur » Записан
boa
Старожил
****

Репутация: +22/-0
Офлайн Офлайн

Сообщений: 252


Доброта спасет мир...


Просмотр профиля WWW
« Ответ #1 : 10.12.2018, 13:17:49 »

Код: (vb)
    Filename = "c:\Users\Admin\Documents\Служебные записки на формирование цены автомобиля trade-in" & Range("a1") & ".xls"

Пожалуй не хватает разделителя "\"
Записан

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

boa
Старожил
****

Репутация: +22/-0
Офлайн Офлайн

Сообщений: 252


Доброта спасет мир...


Просмотр профиля WWW
« Ответ #2 : 10.12.2018, 13:25:14 »

ну и замените xlWorkbookNormal на xlExcel8, т.к. у вас расширение ".xls"
Записан

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

Артур
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 4


Просмотр профиля
« Ответ #3 : 10.12.2018, 13:44:02 »

Пожалуй не хватает разделителя "\"

Хорошо, что разделитель не поставил, я понял, а как мне записать имя файла из двух ячеек?
Записан
boa
Старожил
****

Репутация: +22/-0
Офлайн Офлайн

Сообщений: 252


Доброта спасет мир...


Просмотр профиля WWW
« Ответ #4 : 10.12.2018, 13:47:56 »

Код: (vb)
 Filename = "c:\Users\Admin\Documents\Служебные записки на формирование цены автомобиля trade-in" & "\" & Range("a1") & Range("b1") & ".xls"
Записан

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

Артур
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 4


Просмотр профиля
« Ответ #5 : 10.12.2018, 14:06:22 »


Большое Вам спасибо! Всё получилось Подмигивающий
« Последнее редактирование: 10.12.2018, 15:15:43 от vikttur » Записан
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru