Страницы: 1
RSS
Макрос для автоматической вставки буквы в график
 
Добрый вечер. Прошу помочь прописать макрос для автоматического  вставки буквы "Р" в график работы персонала. График в виде таблицы, по дням недели. Режим работы -скользящие выходные. через день. Файл прикладываю.
Изменено: tvyur - 14.05.2020 20:12:06
 
Для того, чтобы понять, что за график (диаграмма, таблица...), нужно открывать файл.
Опишите задачу в первом сообщении.
 
График работы в виде  таблицы, в которой проставлены выхода работников. Режим работы - скользящие выходные.
 
tvyur,какое условие вставки буквы ? логика?
Не бойтесь совершенства. Вам его не достичь.
 
Читаете так себе, на натянутую троечку...
Цитата
vikttur написал: Опишите задачу в первом сообщении.
 
Добрый вечер. Буква вставляется с условием - чётные дни в месяце - 2,4, 6, 9 т т.д. до конца месяца у одного работника.

У другого - нечётные дни в месяце 1,3, 5 мая и т.д.

Хочется чтоб было наглядно, потому что дни работы скользящие через день, а в месяце бывает и 29 и 30 и 31 день, поэтому хотелось бы чтоб макрос просчитываал шаг день через день в зависимости от смены месяца работы.
Изменено: tvyur - 14.05.2020 20:19:23
 
tvyur,  и как макрос должен пронять какой это работник и как он работает и из какой он смены7?
Изменено: Mershik - 14.05.2020 20:18:36
Не бойтесь совершенства. Вам его не достичь.
 
Mershik в файле я проставила строки по каждому работнику, в которых должна встать буква  через день. Прикладываю.
 
tvyur,  конечно ваши объеденные ячейке это жесть...да еще не одинаково.
Код
Sub fdf()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
Application.DisplayAlerts = False
Dim i As Long, n As Long, k As Long
LR = Cells(Rows.Count, 2).End(xlUp).Row
 For i = 45 To LR
    If Cells(i, 2) = 4 Then
    For n = 29 To 209 Step 12
        Cells(i, n) = "Ð"
        Cells(i + 1, n) = "Ð"
    Next n
    ElseIf Cells(i, 2) > 4 Then
    For k = 29 To 209 Step 6
    If Cells(i - 5, k) <> "Ð" Then
        Cells(i, k) = "Ð"
        Cells(i + 1, k) = "Ð"
    End If
    Next k
    End If
 Next i
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
ActiveSheet.DisplayPageBreaks = True
Application.DisplayAlerts = True
End Sub
Изменено: Mershik - 14.05.2020 21:10:33
Не бойтесь совершенства. Вам его не достичь.
 
СПАСИБО.
Страницы: 1
Наверх