Шаблон диаграммы Ганта управления проектом в Excel скачать

Диаграмму Ганта эффективно использовать в анализе планирования и управления проектов. Этот инструмент визуализации данных календарного планирования приставляет собой график работ или выполнения задач, достижения поставленных целей. Рассмотрим, как сделать автоматизированный шаблон диаграммы Ганта с переключением периодичности временных интервалов на календарном графике: по дням и по неделям. А в конце статьи можно скачать готовый пример.

Как сделать диаграмму Ганта в Excel – пошаговое руководство

Альтернативные диаграммы Ганта для менеджеров проектов – онлайн:

Gantt Chart Web App ВСЯ ДИАГРАММА ГАНТА

Переименуйте название рабочего листа Excel «Лист1» в имя «Gantt». После на этом же листе создайте таблицу с исходными данными точно такую же как показано ниже на рисунке, с таким же расположением всех ячеек на листе:

Gantt data

Важно!!! Чтобы у Вас все адреса заполненных ячеек листа полностью совпадали с исходной представленной на рисунке.

С помощью маркера в нижнем правом углу курсора Excel заполните диапазон ячеек G1:O1 чередующимися датами от 09.09.2022 по 17.09.2022:

даты календаря

Подготовка исходных данных закончена переходим непосредственно к построению диаграммы Ганта на календаре.

Как построить календарь планов с диаграммой Ганта по таблице Excel

Заполните диапазон ячеек G4:O16 на листе «Gantt» одной и той же формулой:

Формулы графика

Теперь выделите диапазон ячеек G4:O16 чтобы присвоить ему условное форматирование:

диапазон G4-O16

Как видно на рисунке правило форматирования применяется для ячеек с текстовым значением «Достигнута», которое возвращают формулы в диапазоне G4:O16. Для эстетики снова используем 2 цвета заливки. Важно также отметить что на вкладке «Число» используя опцию «(все форматы)» задаем свой пользовательский формат из трех точек с запетой «;;;» - это позволит скрыть текстовое содержимое в ячейках. Получаем результат:

Достигнута цель

Перейдите на любую ячейку в диапазоне G4:O16 и откройте «Диспетчер правил условного форматирования». Для этого используйте меню «ГЛАВНАЯ»-«Условное форматирование»-«Управление правилами». Воспользовавшись кнопкой «Создать правило» создайте еще 2 правила для значений «В процессе» (желтый цвет) и «В ожидании» (красный цвет):

Диспетчер правил

Теперь создадим курсор для выделения дат на графике – это сделает анализ по графику Ганта более удобным. Снова перейдите на любую ячейку в диапазоне G4:O16 и в диспетчере правил условного форматирования создайте новое правило, но уже с формулой =G$1=$F$1 и другими настройками формата ячеек:

курсор для выделения дат

Обратите внимание! Правило курсора должно быть в самом нижнем слое. Для управления порядком расположения правил форматирования используйте соответственные кнопки «Вверх» и «Вниз» в диспетчере. В результате получаем диаграмму Ганта с курсором выделения дат, которые указываются в ячейке F1:

Правило курсора

Далее оформляем дизайн шапки таблицы в диапазоне B3:F3 используя градиентную заливку ячеек из двух цветов:

дизайн шапки таблицы

А также следует изменить цвет шрифта на белый в заголовках столбцов таблицы.

Как сделать управление диаграммой Ганта в Excel

Теперь в диаграмме Ганта сделаем интерактивные элементы управления из выпадающих списков. Начнем с простого. Перейдите курсором Excel на ячейку C1 чтобы в ней сделать первый выпадающий список:

интерактивные элементы управления

В параметрах для поля ввода «Источник:» указываем два слова разделенных точкой с запятой «Дни;Недели», нажимаем ОК и выпадающий список из двух значений – ГОТОВ!

Второй выпадающий список будет более сложным. Перед его созданием сначала создадим именной диапазон с именем «Список_дат» и формулой:

выпадающий список

Данное имя будет автоматически подгружать в себя все даты, находящиеся в первой строке листа начиная от ячейки G1. А теперь мы используем ссылку на это же имя (=Список_дат) в качестве источника для второго выпадающего списка в ячейке F1:

Теперь наш курсор для выделения дат – интерактивный и его перемещение по диаграмме Ганта управляется с помощью выпадающего списка в ячейке F1.

интерактивный курсор

Пришел тот долгожданный момент, когда с помощью VBA-макроса мы будем делать магию для оживления диаграммы Ганта. Откройте редактор макросов Visual Basic нажав комбинацию клавиш ALT+F11 и создайте в нем новый модуль с кодом VBA-программы:

редактор макросов Visual Basic

Полная версия кода макроса на языке программирования VBA:

Option Explicit
 
Sub Refresh_Data()
 
Application.ScreenUpdating = False
 
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Gantt")
 
Dim i As Long
 
sh.Range("G3:XFD3").UnMerge
sh.Range("G1:XFD3").Clear
sh.Range("G1:XFD3").Orientation = 0
 
 
Dim lc, lr As Integer
 
 
For i = Application.WorksheetFunction.Min(sh.Range("C:C")) To Application.WorksheetFunction.Max(sh.Range("D:D"))
    If sh.Range("G1").Value = "" Then
        sh.Range("G1").Value = i
 
    Else
        lc = sh.Range("XFD1").End(xlToLeft).Column
        sh.Cells(1, lc + 1).Value = i
    End If
Next i
 
lc = sh.Range("XFD1").End(xlToLeft).Column
lr = sh.Range("B" & Application.Rows.Count).End(xlUp).Row
 
If sh.Range("C1").Value = "Дни" Then
   sh.Range("G3").Value = "=G1"
   sh.Range("G3", sh.Cells(3, lc)).FillRight
 
   sh.Range("E3").Copy
   sh.Range("G3", sh.Cells(3, lc)).PasteSpecial xlPasteFormats
   sh.Range("G3", sh.Cells(3, lc)).NumberFormat = "D-MMM"
   sh.Range("G3", sh.Cells(3, lc)).Orientation = 90
   sh.Range("G3", sh.Cells(3, lc)).EntireColumn.ColumnWidth = 2.5
 
Else
 
   For i = 7 To lc Step 7
        sh.Cells(3, i).Value = "Неделя-" & i / 7
        sh.Range("E3").Copy
        sh.Range(sh.Cells(3, i), sh.Cells(3, i + 6)).PasteSpecial xlPasteFormats
        sh.Range(sh.Cells(3, i), sh.Cells(3, i + 6)).EntireColumn.ColumnWidth = 0.8
        sh.Range(sh.Cells(3, i), sh.Cells(3, i + 6)).Merge
        sh.Range(sh.Cells(3, i), sh.Cells(3, i + 6)).HorizontalAlignment = xlCenter
        sh.Range(sh.Cells(3, i), sh.Cells(3, i + 6)).VerticalAlignment = xlCenter
   Next i
      lc = sh.Range("XFD3").End(xlToLeft).Column + 6
End If
 
 
 
 
sh.Range("G1:XFD1").NumberFormat = "D-MMM-YY"
sh.Range("G1:XFD1").Font.Color = VBA.vbWhite
 
sh.Range("H4:XFD" & Application.Rows.Count).Clear
sh.Range("G5:G" & Application.Rows.Count).Clear
 
sh.Range("A" & lr + 1, "A" & Application.Rows.Count).EntireRow.Clear
sh.Range("G1:XFD3").Locked = True
sh.Range("G1:XFD3").FormulaHidden = True
 
 
sh.Range("G4:G" & sh.Range("B" & Application.Rows.Count).End(xlUp).Row).FillDown
sh.Range("G4", sh.Cells(lr, lc)).FillRight
 
 
 
With sh.Range("B3", sh.Cells(lr, lc))
    .Borders(xlEdgeBottom).LineStyle = xlDouble
    .Borders(xlEdgeBottom).Color = vbBlack
 
    .Borders(xlEdgeLeft).LineStyle = xlDouble
    .Borders(xlEdgeLeft).Color = vbBlack
 
    .Borders(xlEdgeRight).LineStyle = xlDouble
    .Borders(xlEdgeRight).Color = vbBlack
 
    .Borders(xlEdgeTop).LineStyle = xlDouble
    .Borders(xlEdgeTop).Color = vbBlack
 
End With
 
sh.Range("B4", sh.Cells(lr - 1, 6)).Select
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("C1").Select
 
End Sub
 

Чтобы воспользоваться макросом нам потребуется новый (3-тий) элемент управления диаграммой Ганта. Ним послужит простая небольшая картинка в виде кнопки с иконкой «Обновить». Копируем картинку из любого источника и вставляем прямо на лист Excel. А затем подключаем к ней наш макрос Refresh_Data:

третий элемент управления диаграммой

Нажимаем на кнопку и наслаждаемся «магией» автоматизации работы в Excel с помощью макросов:

Кнопка обновить результат

Как говорят французы «Ву а ля»!

Переключение дней и неделей для диаграммы Ганта на календаре планов

Дальше магия продолжается. Возникает вопрос зачем нам нужен был первый интерактивный элемент управления графиком Ганта – выпадающий список? Все просто необходимо создать еще один макрос, но на этот раз не в модуле, а в листе. Возвращаемся в редактор макросов ALT+F11 и в нем открываем лист «Gantt» для ввода нового кода макроса:

макрос листа

Код макроса для вызова с листа Excel:

Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
 
If Target.Row = 1 Then
    If Target.Column = 3 Then
        Call Refresh_Data
    End If
End If
End Sub

Протестируем второй макрос воспользовавшись первым выпадающим списком для переключения со значения «Дни» на значение «Недели»:

Дни недели

Второй макрос используется только для вызова первого при обновлении значения в ячейке C1 – где и находится первый выпадающий список.

download file Скачать шаблон диаграммы Ганта в Excel

Здесь описаны еще не все возможности первого макроса. Например, при заполнении таблицы новыми значениями и после нажатия на кнопку обновить таблица автоматически охватывает новый диапазон значений и добавляет их на график. Таким образом диаграмма Ганта автоматически расширяема и может быть использована в качестве шаблона готового к полноценной работе с новыми пользователями.


en ru