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

Вход

Регистрация

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

 

= Мир MS Excel/Создание табеля по году макросом. - Мир MS Excel

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

Excel 2010
Всем привет!
Подскажите, пожалуйста, как написать макрос.
У меня «Microsoft Office 2010».

Нужен макрос, для файла «Табель», состоящий из таблиц по месяцам.
(два варианта: 1 - все таблицы на одном листе; 2 – каждый месяц на отдельном листе).

Суть макроса:
В ячейке к примеру «А1» вручную устанавливается год.
При нажатии на кнопку «Очистить»:
1. Макрос удаляет данные из диапазона ячеек, где проставляются часы.
2. Удаляет заливку цветом диапазона ячеек (суббота и воскресенье).
3. Заливает цветом новый диапазона ячеек (суббота и воскресенье) с учётом года в ячейке «А1».
4. Учитывает високосный год или нет в таблице Февраля, соответственно добавляя или удаляя данные из ячейки «29 февраля». Если отсутствует, то заливает жёлтым цветом.
5. Ну и если бы возможно было, то и залить цветом диапазона ячеек «праздничные дни» другим цветом.

-----------------------------------------------------------------------------------------------------------
Макросы для удаления заливки:
Вариант №1
Range("B8:AF13").Interior.ColorIndex = xlColorIndexAutomatic
Range("B16:AC21").Interior.ColorIndex = xlColorIndexAutomatic
Range("B24:AF29").Interior.ColorIndex = xlColorIndexAutomatic
Range("B32:AE37").Interior.ColorIndex = xlColorIndexAutomatic
Range("B40:AF45").Interior.ColorIndex = xlColorIndexAutomatic
Range("B48:AE53").Interior.ColorIndex = xlColorIndexAutomatic
Range("B56:AF61").Interior.ColorIndex = xlColorIndexAutomatic
Range("B64:AF69").Interior.ColorIndex = xlColorIndexAutomatic
Range("B72:AE77").Interior.ColorIndex = xlColorIndexAutomatic
Range("B80:AF85").Interior.ColorIndex = xlColorIndexAutomatic
Range("B88:AE93").Interior.ColorIndex = xlColorIndexAutomatic
Range("B96:AF101").Interior.ColorIndex = xlColorIndexAutomatic

-----------------------------------------------------------------------------------------------------------
Вариант №2
Sheets("Январь").Range("B8:AF13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Февраль").Range("B8:AD13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Март").Range("B8:AF13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Апрель").Range("B8:AE13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Май").Range("B8:AF13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Июнь").Range("B8:AE13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Июль").Range("B8:AF13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Август").Range("B8:AF13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Сентябрь").Range("B8:AE13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Октябрь").Range("B8:AF13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Ноябрь").Range("B8:AE13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Декабрь").Range("B8:AF13").Interior.ColorIndex = xlColorIndexAutomatic

-----------------------------------------------------------------------------------------------------------
Пока их не вставляю.

Пароль на защиту листа: 111
К сообщению приложен файл: _1.xlsm(31.3 Kb) · _2.xlsm(50.0 Kb)


Сообщение отредактировал Nickvest - Суббота, 09.03.2019, 12:47
 
Ответить
СообщениеВсем привет!
Подскажите, пожалуйста, как написать макрос.
У меня «Microsoft Office 2010».

Нужен макрос, для файла «Табель», состоящий из таблиц по месяцам.
(два варианта: 1 - все таблицы на одном листе; 2 – каждый месяц на отдельном листе).

Суть макроса:
В ячейке к примеру «А1» вручную устанавливается год.
При нажатии на кнопку «Очистить»:
1. Макрос удаляет данные из диапазона ячеек, где проставляются часы.
2. Удаляет заливку цветом диапазона ячеек (суббота и воскресенье).
3. Заливает цветом новый диапазона ячеек (суббота и воскресенье) с учётом года в ячейке «А1».
4. Учитывает високосный год или нет в таблице Февраля, соответственно добавляя или удаляя данные из ячейки «29 февраля». Если отсутствует, то заливает жёлтым цветом.
5. Ну и если бы возможно было, то и залить цветом диапазона ячеек «праздничные дни» другим цветом.

-----------------------------------------------------------------------------------------------------------
Макросы для удаления заливки:
Вариант №1
Range("B8:AF13").Interior.ColorIndex = xlColorIndexAutomatic
Range("B16:AC21").Interior.ColorIndex = xlColorIndexAutomatic
Range("B24:AF29").Interior.ColorIndex = xlColorIndexAutomatic
Range("B32:AE37").Interior.ColorIndex = xlColorIndexAutomatic
Range("B40:AF45").Interior.ColorIndex = xlColorIndexAutomatic
Range("B48:AE53").Interior.ColorIndex = xlColorIndexAutomatic
Range("B56:AF61").Interior.ColorIndex = xlColorIndexAutomatic
Range("B64:AF69").Interior.ColorIndex = xlColorIndexAutomatic
Range("B72:AE77").Interior.ColorIndex = xlColorIndexAutomatic
Range("B80:AF85").Interior.ColorIndex = xlColorIndexAutomatic
Range("B88:AE93").Interior.ColorIndex = xlColorIndexAutomatic
Range("B96:AF101").Interior.ColorIndex = xlColorIndexAutomatic

-----------------------------------------------------------------------------------------------------------
Вариант №2
Sheets("Январь").Range("B8:AF13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Февраль").Range("B8:AD13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Март").Range("B8:AF13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Апрель").Range("B8:AE13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Май").Range("B8:AF13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Июнь").Range("B8:AE13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Июль").Range("B8:AF13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Август").Range("B8:AF13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Сентябрь").Range("B8:AE13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Октябрь").Range("B8:AF13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Ноябрь").Range("B8:AE13").Interior.ColorIndex = xlColorIndexAutomatic
Sheets("Декабрь").Range("B8:AF13").Interior.ColorIndex = xlColorIndexAutomatic

-----------------------------------------------------------------------------------------------------------
Пока их не вставляю.

Пароль на защиту листа: 111

Автор - Nickvest
Дата добавления - 09.03.2019 в 10:44
Nickvest Дата: Воскресенье, 17.03.2019, 21:19 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всё, всем спасибо!
Задача решена.
 
Ответить
СообщениеВсё, всем спасибо!
Задача решена.

Автор - Nickvest
Дата добавления - 17.03.2019 в 21:19
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Создание табеля по году макросом. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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