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

Вход

Регистрация

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

 

= Мир MS Excel/Заполнение графика выходов данными из графика отпусков - Страница 2 - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 2 из 3«123»
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение графика выходов данными из графика отпусков (Макросы/Sub)
Заполнение графика выходов данными из графика отпусков
Jester Дата: Суббота, 27.02.2016, 18:01 | Сообщение № 21
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
StoTisteg, сейчас перенесу на основной график и проверю еще раз
 
Ответить
СообщениеStoTisteg, сейчас перенесу на основной график и проверю еще раз

Автор - Jester
Дата добавления - 27.02.2016 в 18:01
Jester Дата: Суббота, 27.02.2016, 18:11 | Сообщение № 22
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Считать то считает кол-во дней отпуска а как это раскидать на график?
 
Ответить
СообщениеСчитать то считает кол-во дней отпуска а как это раскидать на график?

Автор - Jester
Дата добавления - 27.02.2016 в 18:11
StoTisteg Дата: Суббота, 27.02.2016, 21:28 | Сообщение № 23
Группа: Авторы
Ранг: Ветеран
Сообщений: 541
Репутация: 45 ±
Замечаний: 0% ±

Excel 2010
Вроде готово, погонял по всем параметрам, работает yes Правда, сильно завязано на содержание листа "График" и очищает перед новой заливкой... не быстро :( Если понадобятся комментарии в коде, пишите. Вычисление количества дней переехало в модуль листа 1 и выполняется по простому клику по ячейке с датой начала отпуска.
К сообщению приложен файл: 4382599.xlsm(50Kb)


Проверь всё. ThisWorkbook.Save. On Error Resume Next.
 
Ответить
СообщениеВроде готово, погонял по всем параметрам, работает yes Правда, сильно завязано на содержание листа "График" и очищает перед новой заливкой... не быстро :( Если понадобятся комментарии в коде, пишите. Вычисление количества дней переехало в модуль листа 1 и выполняется по простому клику по ячейке с датой начала отпуска.

Автор - StoTisteg
Дата добавления - 27.02.2016 в 21:28
StoTisteg Дата: Суббота, 27.02.2016, 22:20 | Сообщение № 24
Группа: Авторы
Ранг: Ветеран
Сообщений: 541
Репутация: 45 ±
Замечаний: 0% ±

Excel 2010
Нет, заниматься тремя делами одновременно положительно вредно :( Ухитрился забыть про Replace и сотворил его из циклов собственным рукомеслом hands
К сообщению приложен файл: 3130706.xlsm(52Kb)


Проверь всё. ThisWorkbook.Save. On Error Resume Next.
 
Ответить
СообщениеНет, заниматься тремя делами одновременно положительно вредно :( Ухитрился забыть про Replace и сотворил его из циклов собственным рукомеслом hands

Автор - StoTisteg
Дата добавления - 27.02.2016 в 22:20
StoTisteg Дата: Суббота, 27.02.2016, 22:43 | Сообщение № 25
Группа: Авторы
Ранг: Ветеран
Сообщений: 541
Репутация: 45 ±
Замечаний: 0% ±

Excel 2010
Короче, покоцал все дурацкие циклы, стало нормально.
К сообщению приложен файл: 6550855.xlsm(52Kb)


Проверь всё. ThisWorkbook.Save. On Error Resume Next.
 
Ответить
СообщениеКороче, покоцал все дурацкие циклы, стало нормально.

Автор - StoTisteg
Дата добавления - 27.02.2016 в 22:43
StoTisteg Дата: Воскресенье, 28.02.2016, 00:01 | Сообщение № 26
Группа: Авторы
Ранг: Ветеран
Сообщений: 541
Репутация: 45 ±
Замечаний: 0% ±

Excel 2010
Ну вот, причесал и прокомментировал. Заодно узнал, как работать с датами :D
К сообщению приложен файл: 4837256.xlsm(55Kb)


Проверь всё. ThisWorkbook.Save. On Error Resume Next.

Сообщение отредактировал StoTisteg - Воскресенье, 28.02.2016, 01:08
 
Ответить
СообщениеНу вот, причесал и прокомментировал. Заодно узнал, как работать с датами :D

Автор - StoTisteg
Дата добавления - 28.02.2016 в 00:01
Jester Дата: Воскресенье, 28.02.2016, 06:57 | Сообщение № 27
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Большущее Вам СПАСИБО. Вы очень сильно мне помогли. Вот только осталась одна проблема. При подсчете дней отпуска у рабочего 6 почему-то в марте проставляет ОТ на весь месяц, а не на оставшиеся дни. Как это исправить?
 
Ответить
СообщениеБольшущее Вам СПАСИБО. Вы очень сильно мне помогли. Вот только осталась одна проблема. При подсчете дней отпуска у рабочего 6 почему-то в марте проставляет ОТ на весь месяц, а не на оставшиеся дни. Как это исправить?

Автор - Jester
Дата добавления - 28.02.2016 в 06:57
StoTisteg Дата: Воскресенье, 28.02.2016, 12:12 | Сообщение № 28
Группа: Авторы
Ранг: Ветеран
Сообщений: 541
Репутация: 45 ±
Замечаний: 0% ±

Excel 2010
Это не надо исправлять, я специально выставил ему 69 дней отпуска для проверки. Можете посчитать вручную, он ешё и апрель захватит. Зато я придумал, как определедять глубину пересчёта автоматом. Ща сделаю...


Проверь всё. ThisWorkbook.Save. On Error Resume Next.
 
Ответить
СообщениеЭто не надо исправлять, я специально выставил ему 69 дней отпуска для проверки. Можете посчитать вручную, он ешё и апрель захватит. Зато я придумал, как определедять глубину пересчёта автоматом. Ща сделаю...

Автор - StoTisteg
Дата добавления - 28.02.2016 в 12:12
Jester Дата: Воскресенье, 28.02.2016, 12:15 | Сообщение № 29
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Можете посчитать вручную


посчитал. 77 дней :)
 
Ответить
Сообщение
Можете посчитать вручную


посчитал. 77 дней :)

Автор - Jester
Дата добавления - 28.02.2016 в 12:15
StoTisteg Дата: Воскресенье, 28.02.2016, 13:29 | Сообщение № 30
Группа: Авторы
Ранг: Ветеран
Сообщений: 541
Репутация: 45 ±
Замечаний: 0% ±

Excel 2010
Теперь точно УМВР :-)
К сообщению приложен файл: 9450246.xlsm(54Kb)


Проверь всё. ThisWorkbook.Save. On Error Resume Next.

Сообщение отредактировал StoTisteg - Воскресенье, 28.02.2016, 13:44
 
Ответить
СообщениеТеперь точно УМВР :-)

Автор - StoTisteg
Дата добавления - 28.02.2016 в 13:29
Jester Дата: Понедельник, 29.02.2016, 12:33 | Сообщение № 31
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Проблема не решена. Может в коде проблемы или в моём ДНК еще не разобрался :(
код

[moder]Код нужно обтягивать кнопкой # (Даже если он под спойлером). [/moder]


Сообщение отредактировал Manyasha - Понедельник, 29.02.2016, 12:47
 
Ответить
СообщениеПроблема не решена. Может в коде проблемы или в моём ДНК еще не разобрался :(
код

[moder]Код нужно обтягивать кнопкой # (Даже если он под спойлером). [/moder]

Автор - Jester
Дата добавления - 29.02.2016 в 12:33
StoTisteg Дата: Понедельник, 29.02.2016, 22:31 | Сообщение № 32
Группа: Авторы
Ранг: Ветеран
Сообщений: 541
Репутация: 45 ±
Замечаний: 0% ±

Excel 2010
В примере всё работает, каждый может убедиться :(


Проверь всё. ThisWorkbook.Save. On Error Resume Next.
 
Ответить
СообщениеВ примере всё работает, каждый может убедиться :(

Автор - StoTisteg
Дата добавления - 29.02.2016 в 22:31
Jester Дата: Понедельник, 29.02.2016, 22:32 | Сообщение № 33
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
В примере все без проблем подтверждаю.
 
Ответить
СообщениеВ примере все без проблем подтверждаю.

Автор - Jester
Дата добавления - 29.02.2016 в 22:32
StoTisteg Дата: Понедельник, 29.02.2016, 22:45 | Сообщение № 34
Группа: Авторы
Ранг: Ветеран
Сообщений: 541
Репутация: 45 ±
Замечаний: 0% ±

Excel 2010
И да, то, что Вы из
[vba]
Код


Sub todaym()

    Range("Q1:V1").Value = DateAdd("d", 1 - Day(Date), Date) 'Выставляем первое число текущего месяца
    On Error Resume Next 'игнор ошибки чистильщика (возникает, если нечего чистить)
    Columns("I:AM").Replace What:="ОТ", Replacement:="", LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False 'Очистка ячеек с ОТ ((с)Макрорекордер, что там лишнее, лень разбираться)
    Call ПокраскаГрафика 'Вызов подпрограммы с покраской

End Sub
Sub NextM()

    Range("Q1:V1").Value = DateAdd("m", 1, Cells(1, 17).Value) 'Увеличиваем дату на месяц
    On Error Resume Next
    Columns("I:AM").Replace What:="ОТ", Replacement:="", LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Call ПокраскаГрафика
    
End Sub
Sub Beform()
    
    Range("Q1:V1").Value = DateAdd("m", -1, Cells(1, 17).Value) 'Уменьшаем дату на месяц
    Columns("I:AM").Replace What:="ОТ", Replacement:="", LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Call ПокраскаГрафика
    
End Sub

[/vba]
сделали
[vba]
Код

Sub todaym()
' Сегодня Макрос
Range("Q1") = DateSerial(Year(Date), Month(Date), 1)
End Sub
Sub NextM()
' Следующий Макрос
Range("Q1") = DateAdd("m", 1, Range("Q1"))
End Sub
Sub Beform()
' Месяц до Макрос
Range("Q1") = DateAdd("m", -1, Range("Q1"))
End Sub
[/vba]
"лишние" строки
[vba]
Код

    Columns("I:AM").Replace What:="ОТ", Replacement:="", LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False 'Очистка ячеек с ОТ ((с)Макрорекордер, что там лишнее, лень разбираться)
    Call ПокраскаГрафика 'Вызов подпрограммы с покраской
[/vba]
как раз и делали то, что Вам нужно.


Проверь всё. ThisWorkbook.Save. On Error Resume Next.
 
Ответить
СообщениеИ да, то, что Вы из
[vba]
Код


Sub todaym()

    Range("Q1:V1").Value = DateAdd("d", 1 - Day(Date), Date) 'Выставляем первое число текущего месяца
    On Error Resume Next 'игнор ошибки чистильщика (возникает, если нечего чистить)
    Columns("I:AM").Replace What:="ОТ", Replacement:="", LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False 'Очистка ячеек с ОТ ((с)Макрорекордер, что там лишнее, лень разбираться)
    Call ПокраскаГрафика 'Вызов подпрограммы с покраской

End Sub
Sub NextM()

    Range("Q1:V1").Value = DateAdd("m", 1, Cells(1, 17).Value) 'Увеличиваем дату на месяц
    On Error Resume Next
    Columns("I:AM").Replace What:="ОТ", Replacement:="", LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Call ПокраскаГрафика
    
End Sub
Sub Beform()
    
    Range("Q1:V1").Value = DateAdd("m", -1, Cells(1, 17).Value) 'Уменьшаем дату на месяц
    Columns("I:AM").Replace What:="ОТ", Replacement:="", LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Call ПокраскаГрафика
    
End Sub

[/vba]
сделали
[vba]
Код

Sub todaym()
' Сегодня Макрос
Range("Q1") = DateSerial(Year(Date), Month(Date), 1)
End Sub
Sub NextM()
' Следующий Макрос
Range("Q1") = DateAdd("m", 1, Range("Q1"))
End Sub
Sub Beform()
' Месяц до Макрос
Range("Q1") = DateAdd("m", -1, Range("Q1"))
End Sub
[/vba]
"лишние" строки
[vba]
Код

    Columns("I:AM").Replace What:="ОТ", Replacement:="", LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False 'Очистка ячеек с ОТ ((с)Макрорекордер, что там лишнее, лень разбираться)
    Call ПокраскаГрафика 'Вызов подпрограммы с покраской
[/vba]
как раз и делали то, что Вам нужно.

Автор - StoTisteg
Дата добавления - 29.02.2016 в 22:45
Jester Дата: Понедельник, 29.02.2016, 22:53 | Сообщение № 35
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Работает!!!!! Она работает!!!! Подскажите пожалуйста макрос исправления моего ДНК :)
 
Ответить
СообщениеРаботает!!!!! Она работает!!!! Подскажите пожалуйста макрос исправления моего ДНК :)

Автор - Jester
Дата добавления - 29.02.2016 в 22:53
Jester Дата: Понедельник, 29.02.2016, 22:55 | Сообщение № 36
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Я соберу все решения в кучу и выложу в готовых решениях готовый шаблон. И конечно же с благодарностью всем кто мне помог в этом. Думаю такая вещь очень многим пригодится


Сообщение отредактировал Jester - Понедельник, 29.02.2016, 23:02
 
Ответить
СообщениеЯ соберу все решения в кучу и выложу в готовых решениях готовый шаблон. И конечно же с благодарностью всем кто мне помог в этом. Думаю такая вещь очень многим пригодится

Автор - Jester
Дата добавления - 29.02.2016 в 22:55
StoTisteg Дата: Понедельник, 29.02.2016, 23:07 | Сообщение № 37
Группа: Авторы
Ранг: Ветеран
Сообщений: 541
Репутация: 45 ±
Замечаний: 0% ±

Excel 2010
Работает!!!!! Она работает!!!! Подскажите пожалуйста макрос исправления моего ДНК

Элементарно же:
[vba]
Код
Jester.Replace What:=DNA, Destination:=VBA
[/vba]
:p


Проверь всё. ThisWorkbook.Save. On Error Resume Next.
 
Ответить
Сообщение
Работает!!!!! Она работает!!!! Подскажите пожалуйста макрос исправления моего ДНК

Элементарно же:
[vba]
Код
Jester.Replace What:=DNA, Destination:=VBA
[/vba]
:p

Автор - StoTisteg
Дата добавления - 29.02.2016 в 23:07
Jester Дата: Понедельник, 29.02.2016, 23:08 | Сообщение № 38
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
hands yes
 
Ответить
Сообщениеhands yes

Автор - Jester
Дата добавления - 29.02.2016 в 23:08
StoTisteg Дата: Понедельник, 29.02.2016, 23:17 | Сообщение № 39
Группа: Авторы
Ранг: Ветеран
Сообщений: 541
Репутация: 45 ±
Замечаний: 0% ±

Excel 2010
Ну вот блин. В виде шутки на форуме Вы же поняли. А что мешало понять точно такое же
[vba]
Код
    Columns("I:AM").Replace What:="ОТ", Replacement:=""
[/vba] :o


Проверь всё. ThisWorkbook.Save. On Error Resume Next.
 
Ответить
СообщениеНу вот блин. В виде шутки на форуме Вы же поняли. А что мешало понять точно такое же
[vba]
Код
    Columns("I:AM").Replace What:="ОТ", Replacement:=""
[/vba] :o

Автор - StoTisteg
Дата добавления - 29.02.2016 в 23:17
Jester Дата: Понедельник, 29.02.2016, 23:19 | Сообщение № 40
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Эммммм. Надо было наверное сначала это Jester.Replace What:=DNA, Destination:=VBA установить :)
 
Ответить
СообщениеЭммммм. Надо было наверное сначала это Jester.Replace What:=DNA, Destination:=VBA установить :)

Автор - Jester
Дата добавления - 29.02.2016 в 23:19
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение графика выходов данными из графика отпусков (Макросы/Sub)
Страница 2 из 3«123»
Поиск:

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