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

Вход

Регистрация

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

 

= Мир MS Excel/Название листа по дате + 7 дней - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Название листа по дате + 7 дней
drugojandrew Дата: Воскресенье, 21.10.2018, 19:15 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 141
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый вечер.
Пытаюсь решить такую задачу. В книге есть лист "Template" и лист с названием по дате: 2018-01-01 (год-месяц-число). Как макросом скопировать лист "Template" и переименовать, чтобы в названии прибавлялось 7 дней к дате предыдущего листа, т.е. лист с названием 2018-01-08, затем 2018-01-15 и т.д. Т.е. на каждую неделю новый лист. Пример приложил.
К сообщению приложен файл: Primer1.xls (29.5 Kb)
 
Ответить
СообщениеДобрый вечер.
Пытаюсь решить такую задачу. В книге есть лист "Template" и лист с названием по дате: 2018-01-01 (год-месяц-число). Как макросом скопировать лист "Template" и переименовать, чтобы в названии прибавлялось 7 дней к дате предыдущего листа, т.е. лист с названием 2018-01-08, затем 2018-01-15 и т.д. Т.е. на каждую неделю новый лист. Пример приложил.

Автор - drugojandrew
Дата добавления - 21.10.2018 в 19:15
RAN Дата: Воскресенье, 21.10.2018, 19:54 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
И очень просто.
1. Преобразуем текст "2018-01-01" (имя листа) в дату.
2. Прибавляем к полученной дате интервал (7 дней)
3. Присваиваем новому листу имя Format((дата из п2), "yyyyy-mm-dd")

Можно извратиться, и прибавить интервал к дню, но тот опять возникнет проблема корректной даты...


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеИ очень просто.
1. Преобразуем текст "2018-01-01" (имя листа) в дату.
2. Прибавляем к полученной дате интервал (7 дней)
3. Присваиваем новому листу имя Format((дата из п2), "yyyyy-mm-dd")

Можно извратиться, и прибавить интервал к дню, но тот опять возникнет проблема корректной даты...

Автор - RAN
Дата добавления - 21.10.2018 в 19:54
drugojandrew Дата: Воскресенье, 21.10.2018, 20:06 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 141
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
RAN, спасибо, попробую разобраться. В макросах не силён, но попытаюсь, может и получится чего))
 
Ответить
СообщениеRAN, спасибо, попробую разобраться. В макросах не силён, но попытаюсь, может и получится чего))

Автор - drugojandrew
Дата добавления - 21.10.2018 в 20:06
Kuzmich Дата: Воскресенье, 21.10.2018, 20:13 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 714
Репутация: 157 ±
Замечаний: 0% ±

Excel 2003
[vba]
Код
Sub CopyList()
Dim iName As String
Dim iDate As Date
  iName = Worksheets(Worksheets.Count).Name
  iDate = DateSerial(Split(iName, "-")(0), Split(iName, "-")(1), Split(iName, "-")(2))
  iDate = iDate + 7
    Sheets("Template").Copy After:=Worksheets(Worksheets.Count)
    Worksheets(Worksheets.Count).Name = Format(iDate, "yyyy-mm-dd")
End Sub
[/vba]
 
Ответить
Сообщение[vba]
Код
Sub CopyList()
Dim iName As String
Dim iDate As Date
  iName = Worksheets(Worksheets.Count).Name
  iDate = DateSerial(Split(iName, "-")(0), Split(iName, "-")(1), Split(iName, "-")(2))
  iDate = iDate + 7
    Sheets("Template").Copy After:=Worksheets(Worksheets.Count)
    Worksheets(Worksheets.Count).Name = Format(iDate, "yyyy-mm-dd")
End Sub
[/vba]

Автор - Kuzmich
Дата добавления - 21.10.2018 в 20:13
drugojandrew Дата: Воскресенье, 21.10.2018, 20:23 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 141
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Kuzmich, спасибо, то что нужно!!
 
Ответить
СообщениеKuzmich, спасибо, то что нужно!!

Автор - drugojandrew
Дата добавления - 21.10.2018 в 20:23
  • Страница 1 из 1
  • 1
Поиск:

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