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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическое создание листа в книге. - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Автоматическое создание листа в книге.
An4ous Дата: Вторник, 03.09.2013, 12:12 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток! Подскажите как сделать так, чтобы при открытии книги создавался новый лист, с именем текущая дата. А если лист с данной датой уже существует, то лист создаваться не должен. Т.е. если открыть прикрепленный файл, то в книге появится лист с именем сегодняшней даты (на данный момент 03.09.2013). Спасибо!
К сообщению приложен файл: 0210301.xlsx (7.7 Kb)
 
Ответить
СообщениеДоброго времени суток! Подскажите как сделать так, чтобы при открытии книги создавался новый лист, с именем текущая дата. А если лист с данной датой уже существует, то лист создаваться не должен. Т.е. если открыть прикрепленный файл, то в книге появится лист с именем сегодняшней даты (на данный момент 03.09.2013). Спасибо!

Автор - An4ous
Дата добавления - 03.09.2013 в 12:12
Michael_S Дата: Вторник, 03.09.2013, 12:17 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
И сколько таких листов должно быть? на месяц, год, пятилетку?
 
Ответить
СообщениеИ сколько таких листов должно быть? на месяц, год, пятилетку?

Автор - Michael_S
Дата добавления - 03.09.2013 в 12:17
Michael_S Дата: Вторник, 03.09.2013, 12:43 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
В модуль книги
[vba]
Код
Private Sub Workbook_Open()
Dim i&
For i = Sheets.Count To 1 Step -1
     If Sheets(i).Name = Str(Date) Then Exit Sub
Next
     Sheets.Add After:=Sheets(Sheets.Count)
     Sheets(Sheets.Count).Name = Date
End Sub
[/vba]каждый день будет создавать новый лист. Пока памяти у компа хватит.
 
Ответить
СообщениеВ модуль книги
[vba]
Код
Private Sub Workbook_Open()
Dim i&
For i = Sheets.Count To 1 Step -1
     If Sheets(i).Name = Str(Date) Then Exit Sub
Next
     Sheets.Add After:=Sheets(Sheets.Count)
     Sheets(Sheets.Count).Name = Date
End Sub
[/vba]каждый день будет создавать новый лист. Пока памяти у компа хватит.

Автор - Michael_S
Дата добавления - 03.09.2013 в 12:43
Michael_S Дата: Вторник, 03.09.2013, 12:49 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Если листы перемещаться не предполагается, можно упростить:
[vba]
Код
Private Sub Workbook_Open()
      If Sheets(Sheets(Sheets.Count)).Name <> Str(Date) Then  
              Sheets.Add After:=Sheets(Sheets.Count)
               Sheets(Sheets.Count).Name = Date
      end if
End Sub
[/vba]
 
Ответить
СообщениеЕсли листы перемещаться не предполагается, можно упростить:
[vba]
Код
Private Sub Workbook_Open()
      If Sheets(Sheets(Sheets.Count)).Name <> Str(Date) Then  
              Sheets.Add After:=Sheets(Sheets.Count)
               Sheets(Sheets.Count).Name = Date
      end if
End Sub
[/vba]

Автор - Michael_S
Дата добавления - 03.09.2013 в 12:49
KuklP Дата: Вторник, 03.09.2013, 12:55 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Вариант:
Не то...


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Вторник, 03.09.2013, 13:03
 
Ответить
СообщениеВариант:
Не то...

Автор - KuklP
Дата добавления - 03.09.2013 в 12:55
An4ous Дата: Вторник, 03.09.2013, 13:13 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Цитата (Michael_S, Вторник, 03.09.2013, 12:43 # 3)
каждый день будет создавать новый лист. Пока памяти у компа хватит.

Спасибо большое! Пойду пробовать!
 
Ответить
Сообщение
Цитата (Michael_S, Вторник, 03.09.2013, 12:43 # 3)
каждый день будет создавать новый лист. Пока памяти у компа хватит.

Спасибо большое! Пойду пробовать!

Автор - An4ous
Дата добавления - 03.09.2013 в 13:13
An4ous Дата: Вторник, 03.09.2013, 13:22 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Цитата (Michael_S, Вторник, 03.09.2013, 12:43 # 3)
каждый день будет создавать новый лист. Пока памяти у компа хватит.

Первый вариант работает, второй ошибка во 2 строке. Спасибо еще раз! :)
 
Ответить
Сообщение
Цитата (Michael_S, Вторник, 03.09.2013, 12:43 # 3)
каждый день будет создавать новый лист. Пока памяти у компа хватит.

Первый вариант работает, второй ошибка во 2 строке. Спасибо еще раз! :)

Автор - An4ous
Дата добавления - 03.09.2013 в 13:22
KuklP Дата: Вторник, 03.09.2013, 13:26 | Сообщение № 8
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Вместо:
Sheets(Sheets(Sheets.Count)).Name
напишите:
Sheets(Sheets.Count).Name
и все будет работать.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеВместо:
Sheets(Sheets(Sheets.Count)).Name
напишите:
Sheets(Sheets.Count).Name
и все будет работать.

Автор - KuklP
Дата добавления - 03.09.2013 в 13:26
Michael_S Дата: Вторник, 03.09.2013, 13:29 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
второй ошибка во 2 строке.
да, писал на коленке, не обратил внимания на лишний Sheets :)
[vba]
Код
Private Sub Workbook_Open()
       If Sheets(Sheets.Count).Name <> Str(Date) Then    
               Sheets.Add After:=Sheets(Sheets.Count)
               Sheets(Sheets.Count).Name = Date
       end if
End Sub
[/vba]


Сообщение отредактировал Michael_S - Вторник, 03.09.2013, 13:29
 
Ответить
Сообщение
второй ошибка во 2 строке.
да, писал на коленке, не обратил внимания на лишний Sheets :)
[vba]
Код
Private Sub Workbook_Open()
       If Sheets(Sheets.Count).Name <> Str(Date) Then    
               Sheets.Add After:=Sheets(Sheets.Count)
               Sheets(Sheets.Count).Name = Date
       end if
End Sub
[/vba]

Автор - Michael_S
Дата добавления - 03.09.2013 в 13:29
Oskar333 Дата: Пятница, 14.07.2017, 21:29 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
модуль книги
Private Sub Workbook_Open()
Dim i&
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name = Str(Date) Then Exit Sub
Next
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Date
End Sub
каждый день будет создавать новый лист. Пока памяти у компа хватит.

Добрый вечер, не подскажешь что нужно исправить, что бы например не сегоднишнию дату, а завтра или на недельку вперед ? буду очень благодарен
-----------------------------------------------------------------------------
Уже не надо, построил макрос, который создает листы макроса по названию ячеек


Сообщение отредактировал Oskar333 - Пятница, 14.07.2017, 21:51
 
Ответить
Сообщение
модуль книги
Private Sub Workbook_Open()
Dim i&
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name = Str(Date) Then Exit Sub
Next
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Date
End Sub
каждый день будет создавать новый лист. Пока памяти у компа хватит.

Добрый вечер, не подскажешь что нужно исправить, что бы например не сегоднишнию дату, а завтра или на недельку вперед ? буду очень благодарен
-----------------------------------------------------------------------------
Уже не надо, построил макрос, который создает листы макроса по названию ячеек

Автор - Oskar333
Дата добавления - 14.07.2017 в 21:29
Pelena Дата: Пятница, 14.07.2017, 21:46 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 19511
Репутация: 4620 ±
Замечаний: ±

Excel 365 & Mac Excel
Date - это сегодняшняя дата
Date+1 - завтрашняя
Date+7 - через неделю


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеDate - это сегодняшняя дата
Date+1 - завтрашняя
Date+7 - через неделю

Автор - Pelena
Дата добавления - 14.07.2017 в 21:46
nemon Дата: Пятница, 12.01.2018, 19:02 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Подскажите. Как сделать, чтобы создались вкладки с шаблоном и изменёнными данными, например 1 лист: имя листа Вексель №1, в листе Вексель №1, далее ничего не меняется кроме суммы:
2 548 200 (два миллиона пятьсот сорок восемь тысяч двести) рублей 00 копеек.
Номера векселей берутся из первого столбца листа список, а суммы из 9 столбца листа список.
Что то наковырял, но что то не работает (первый раз пытаюсь выяснить что такое макросы).
К сообщению приложен файл: 111.xlsm (28.9 Kb)


Сообщение отредактировал nemon - Пятница, 12.01.2018, 19:02
 
Ответить
СообщениеПодскажите. Как сделать, чтобы создались вкладки с шаблоном и изменёнными данными, например 1 лист: имя листа Вексель №1, в листе Вексель №1, далее ничего не меняется кроме суммы:
2 548 200 (два миллиона пятьсот сорок восемь тысяч двести) рублей 00 копеек.
Номера векселей берутся из первого столбца листа список, а суммы из 9 столбца листа список.
Что то наковырял, но что то не работает (первый раз пытаюсь выяснить что такое макросы).

Автор - nemon
Дата добавления - 12.01.2018 в 19:02
Pelena Дата: Пятница, 12.01.2018, 19:11 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 19511
Репутация: 4620 ±
Замечаний: ±

Excel 365 & Mac Excel
nemon, прочитайте Правила форума и создайте свою тему. Эта тема закрыта


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеnemon, прочитайте Правила форума и создайте свою тему. Эта тема закрыта

Автор - Pelena
Дата добавления - 12.01.2018 в 19:11
  • Страница 1 из 1
  • 1
Поиск:

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