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

Вход

Регистрация

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

 

= Мир MS Excel/Создание новой книги (название книги из ячейки) - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Создание новой книги (название книги из ячейки) (Макросы/Sub)
Создание новой книги (название книги из ячейки)
den45444 Дата: Суббота, 08.08.2015, 09:53 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Есть макрос на создание новой книги. Его нужно немного изменить под условие.
Подробно:
- Есть книга и в этой книги есть лист "Смета" и есть кнопка на другом листе "создать новую смету".
- Нажимая на этот макрос, создается новая книга и лист "Смета" копируется в эту книгу, сохраняет и закрывает.
- Название новой книги указывается в самом макросе, т.е. всегда под одним названием.

А мне нужно так, чтобы название новой книги бралось с ячейки (в примере видно - ячейка E7)

Пример прикрепляю.

Жду помощи.
К сообщению приложен файл: -2.xlsm(20.2 Kb)
 
Ответить
СообщениеЕсть макрос на создание новой книги. Его нужно немного изменить под условие.
Подробно:
- Есть книга и в этой книги есть лист "Смета" и есть кнопка на другом листе "создать новую смету".
- Нажимая на этот макрос, создается новая книга и лист "Смета" копируется в эту книгу, сохраняет и закрывает.
- Название новой книги указывается в самом макросе, т.е. всегда под одним названием.

А мне нужно так, чтобы название новой книги бралось с ячейки (в примере видно - ячейка E7)

Пример прикрепляю.

Жду помощи.

Автор - den45444
Дата добавления - 08.08.2015 в 09:53
ShAM Дата: Суббота, 08.08.2015, 10:31 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1279
Репутация: 218 ±
Замечаний: 0% ±

Excel 2010
Замените: [vba]
Код
Const strNewBook As String = "Смета-1.xlsx" 'имя нового файла
[/vba]
на: [vba]
Код
Dim strNewBook As String
     strNewBook = [e7].Value & ".xlsx" 'имя нового файла
[/vba]
 
Ответить
СообщениеЗамените: [vba]
Код
Const strNewBook As String = "Смета-1.xlsx" 'имя нового файла
[/vba]
на: [vba]
Код
Dim strNewBook As String
     strNewBook = [e7].Value & ".xlsx" 'имя нового файла
[/vba]

Автор - ShAM
Дата добавления - 08.08.2015 в 10:31
Karataev Дата: Суббота, 08.08.2015, 10:44 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1327
Репутация: 527 ±
Замечаний: 0% ±

Excel
Смотрите прикрепленный файл
К сообщению приложен файл: macro_v2.xlsm(23.1 Kb)
 
Ответить
СообщениеСмотрите прикрепленный файл

Автор - Karataev
Дата добавления - 08.08.2015 в 10:44
den45444 Дата: Суббота, 08.08.2015, 10:52 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
ShAM, Karataev, Благодарю за скорую помощь.

А если эту кнопку поставить на тот лист который копируется (лист "Смета"), то как прописать макрос, чтобы он все делал то же самое, за исключением копирования данной кнопки. Проще говоря - без этой кнопки.

Прикрепил файл
К сообщению приложен файл: 6052239.xlsm(18.6 Kb)
 
Ответить
СообщениеShAM, Karataev, Благодарю за скорую помощь.

А если эту кнопку поставить на тот лист который копируется (лист "Смета"), то как прописать макрос, чтобы он все делал то же самое, за исключением копирования данной кнопки. Проще говоря - без этой кнопки.

Прикрепил файл

Автор - den45444
Дата добавления - 08.08.2015 в 10:52
gling Дата: Суббота, 08.08.2015, 11:16 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 2016
Репутация: 508 ±
Замечаний: 0% ±

2010
Пропишите так [vba]
Код
shSmeta.Copy Before:=bkNew.Sheets(1)
       ActiveSheet.Shapes("Button 1").Delete
       bkNew.SaveAs ThisWorkbook.Path & "\" & CStr(shAct.Range("B19").Value) & ".xlsx"
       bkNew.Close
[/vba]
Но думаю что лучше кнопку и список выбора сметы разместить вверху сметы. Кнопку привязать к строкам и при копировании сметы удалять верхнею строку или строки. Удалится и список и кнопка вызова макроса.


ЯД-41001506838083

Сообщение отредактировал gling - Суббота, 08.08.2015, 11:26
 
Ответить
СообщениеПропишите так [vba]
Код
shSmeta.Copy Before:=bkNew.Sheets(1)
       ActiveSheet.Shapes("Button 1").Delete
       bkNew.SaveAs ThisWorkbook.Path & "\" & CStr(shAct.Range("B19").Value) & ".xlsx"
       bkNew.Close
[/vba]
Но думаю что лучше кнопку и список выбора сметы разместить вверху сметы. Кнопку привязать к строкам и при копировании сметы удалять верхнею строку или строки. Удалится и список и кнопка вызова макроса.

Автор - gling
Дата добавления - 08.08.2015 в 11:16
den45444 Дата: Суббота, 08.08.2015, 13:15 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
gling, Благодарю за помощь.
 
Ответить
Сообщениеgling, Благодарю за помощь.

Автор - den45444
Дата добавления - 08.08.2015 в 13:15
RAN Дата: Суббота, 08.08.2015, 14:06 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5252
Репутация: 1054 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub Макрос1()
     ' отключить копирование объектов
     Application.CopyObjectsWithCells = False
     ' включить копирование объектов
     Application.CopyObjectsWithCells = True
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Sub Макрос1()
     ' отключить копирование объектов
     Application.CopyObjectsWithCells = False
     ' включить копирование объектов
     Application.CopyObjectsWithCells = True
End Sub
[/vba]

Автор - RAN
Дата добавления - 08.08.2015 в 14:06
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Создание новой книги (название книги из ячейки) (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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