Линия прогресса в excel

Разберёмся как создать и настроить линейный индикатор выполнения (прогресс-бар) в виде диаграммы в Excel.


Приветствую всех, уважаемые читатели блога TutorExcel.Ru!

В современную экономическую жизнь прочно вошли понятия КПЭ (ключевые показатели эффективности, или KPI) и дашборда, которые помогают нам увидеть насколько эффективно выполняются те или иные цели. Грамотная визуализация позволяет сделать это приятным и понятным глазу языком.

Мы уже разбирали с вами примеры пулевой диаграммы, диаграммы в виде спидометра, сейчас остановимся ещё на одном варианте визуализации — индикаторе выполнения (также встречаются названия индикатор процесса или прогресс-бар от английского progress bar).

Для начала давайте поймем, что же это именно такое?

Прогресс бар — это графический элемент в виде полоски (горизонтальной, вертикальной, круговой и т.д.), показывающий статус процесса с помощью заполнения полоски по мере выполнения. Вы часто можете видеть горизонтальный вариант графика во время ожидания загрузки файлов или установки программ.

Сегодня предлагаю подробно рассмотреть линейный вариант графика, который представляет собой простую горизонтальную или вертикальную полосу:

Виды линейного прогресс-бара

Также в целом можно выделить 2 способа построения графика:

  • Без делений на шкале; в этом случае полоска нарисована как единый объект.
  • С делениями. В этом случае дополнительно рисуется шкала, которая отображает уровни выполнения (к примеру от 0% до 40% — красная зона, от 40% до 70% — желтая зона и т.д.).

Построение линейного индикатора (прогресс бара)

Вариант 1. Прогресс бар без шкалы

Давайте приступим к построению и начнем с самого простого варианта.

Для начала создадим таблицу, состоящую всего из 2 рядов с данными, в первом будет исходный процент (к примеру 85%), а во втором оставшаяся недостающая часть до 100% (т.е. в данном случае 15% = 100% — 85%):

Таблица с данными (Вариант 1)

Выделяем диапазон с данными A1:B2 и строим гистограмму с накоплением (в панели вкладок выбираем Вставка -> Диаграммы -> Линейчатая гистограмма с накоплением):

Построение линейчатой гистограммы с группировкой (Вариант 1)

Как видим Excel не совсем правильно интерпретировал данные и построил график с 2 рядами данных, поэтому для корректного отображения поменяем местами строки и столбцы (выделяем диаграмму и в панели вкладок Конструктор выбираем Строка/Столбец), этим мы добьемся отображения всех данных в одному ряду:

Смена строк и столбцов (Вариант 1)

Отлично, диаграмма уже начинает приобретать узнаваемый вид.

Далее устанавливаем минимальную и максимальную границы для оси (щелкаем правой кнопкой мыши по горизонтальной оси и попадаем в настройки Формата оси), как 0 и 1 соответственно, чтобы наша полоска полностью помещалась и показывалась на графике:

Настройки границ оси (Вариант 1)

В результате мы получаем следующий вид графика:

Установка минимальной и максимальной границы (Вариант 1)

Уберем ненужные на текущий момент детали в виде названия, дополнительных осей и прочего, чтобы они не отвлекали от построения (их, безусловно, можно не удалять и компоновать на ваше усмотрение):

Удаление лишних деталей (Вариант 1)

Как мы видим, полученная полоска занимает не всю ширину диаграммы, снизу и сверху мы видим пустые белые полосы.

Поэтому, чтобы растянуть диаграмму на всю возможную ширину и убрать лишние полосы, установим боковой зазор для ряда равным нулю (выделяем любой ряд с данными, щелкаем правой кнопкой мыши и выбираем Формат ряда данных -> Параметры ряда):

Настройка бокового зазора (Вариант 1)

В итоге получаем более компактный вид:

Установка нулевого бокового зазора (Вариант 1)

Остались небольшие детали, покрасим части полоски в подходящие цвета и добавим подпись данных на ряд:

Индикатор выполнения прогресса (Вариант 1)

Все готово, перейдем к следующему варианту.

Вариант 2. Прогресс бар со шкалой

Отличие этого варианта от предыдущего заключается лишь в дополнительной подложке под полоску, которая показывает уровни выполнения показателя, остальные части практически повторяют предыдущий вариант построения.

Для начала несколько модифицируем нашу таблицу и добавим на нее дополнительные ряды для построения шкалы:

Таблица с данными (Вариант 2)

В данном случае я указал шаг шкалы равным 10%, но можно поставить абсолютно любой по вашему усмотрению, главное чтобы сумма всех таких шагов давала 100% (10 шагов по 10% как в примере, или 20 шагов по 5% и т.д.).

Выделяем диапазон с данными A1:B11 и, как и в предыдущем примере, строим линейчатую гистограмму с накоплением:

Построение линейчатой гистограммы с группировкой (Вариант 2)

Повторяем алгоритм и меняем строки и столбцы местами, чтобы диаграмма приобрела необходимый нам вид:

Смена строк и столбцов (Вариант 2)

Как мы видим, у нас появилась достаточно длинная полоса, где в начале находится полоска, а в конце как раз разместилась шкала в виде маленьких разноцветных прямоугольников.

Покрасим каждый шаг шкалы в подходящий цвет, для этого левой кнопкой мыши выделяем каждый ряд по отдельности и делаем заливку соответствующим цветом (к примеру, первые 4 шага красим красным, 3 средние — желтым и 3 последние — зеленым):

Заливка шкалы цветом (Вариант 2)

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

Настройка типов осей (Вариант 2)

В результате настройки типов осей получаем:

Перенос основного ряда на вспомогательную ось (Вариант 2)

Далее также для обеих осей указываем 0 и 1 как минимальную и максимальную границы, чтобы график был ровно от 0% до 100%:

Установка минимальной и максимальной границы (Вариант 1)

Убираем название, оси данных и прочие ненужные в данный момент детали, настраиваем нулевой боковой зазор:

Установка нулевого бокового зазора (Вариант 2)

Так как шкала на полученной диаграмме не видна за основной полоской, то для основного ряда с данными установим прозрачность (щелкаем по ряду правой кнопкой мыши, в контекстном меню выбираем Формат ряда данных -> Заливка и границы -> Заливка):

Настройка прозрачности полоски (Вариант 2)

Также добавим подпись данных и получаем:

Добавление прозрачности и подписи данных (Вариант 2)

По усмотрению шкалу можно сделать не сплошной, а с разделителями, для этого установим для каждого ряда шкалы белую границу:

Индикатор выполнения прогресса (Вариант 2)

На этом все!

Скачать файл с примером.

Спасибо за внимание!
Если у вас есть вопросы по теме статьи — пишите в комментариях.

Удачи вам и до скорых встреч на страницах блога TutorExcel.Ru!

Поделиться с друзьями:
Поиск по сайту:

В Excel гистограмма выполнения может помочь вам отслеживать прогресс в достижении цели, как показано на следующем снимке экрана. Но как создать гистограмму выполнения на листе Excel?

Создайте индикатор выполнения в Excel с помощью обычной функции Insert Bar

Создайте индикатор выполнения в Excel с помощью функции условного форматирования

Создайте индикатор выполнения в Excel с помощью удобной функции


Создайте индикатор выполнения в Excel с помощью обычной функции Insert Bar

Обычно вы можете вставить столбчатую диаграмму с кластерами, а затем отформатировать ее как диаграмму хода выполнения, выполните следующие действия:

1. Выберите данные, на основе которых вы хотите создать гистограмму выполнения, а затем щелкните Вставить > Вставить столбец или гистограмму > Кластерный бар под 2-мерный бар раздел, как показано на следующем снимке экрана:

2. Затем была вставлена ​​кластерная диаграмма, затем щелкните панель целевого ряда данных, а затем щелкните правой кнопкой мыши, чтобы выбрать Форматировать ряд данных из контекстного меню см. снимок экрана:

3. В Форматировать ряд данных панели, нажмите Заливка и линия кнопку со значком, затем выберите Без заливки под Заполнять раздел, а затем выберите Сплошная линия и выберите один цвет для границы полосы в Граница раздел, см. снимок экрана:

4. Затем закройте Форматировать ряд данных панель, а затем щелкните, чтобы выбрать всю диаграмму, и щелкните Дизайн > Добавить элемент диаграммы > Этикетки данных > Внутри базы, все метки данных были вставлены в диаграмму, как показано на следующем снимке экрана:

5. Затем вы должны удалить другие метки данных и сохранить только текущие метки данных, как показано на следующем снимке экрана:

6. Затем щелкните правой кнопкой мыши целевую серию данных и выберите Форматировать ряд данных, В Форматировать ряд данных панели, нажмите Варианты серий кнопку со значком и измените Перекрытие серий в 100%, см. снимок экрана:

7. Затем выберите горизонтальную ось значений и щелкните правой кнопкой мыши, чтобы выбрать Ось формата вариант, см. снимок экрана:

8. В Ось формата панель, под Параметры оси на вкладке введите максимальное значение ваших целевых данных в поле максимальная текстовое поле, и индикатор выполнения будет полностью создан, см. снимок экрана:


Создайте индикатор выполнения в Excel с помощью функции условного форматирования

В Excel вы также можете создать гистограмму выполнения, используя Условное форматирование, пожалуйста, сделайте следующее:

1. Выделите ячейки значений, в которые вы хотите вставить диаграмму индикатора выполнения, а затем щелкните Главная > Условное форматирование > Панели данных > Другие правила, см. снимок экрана:

2. В Новое правило форматирования диалоговом окне выполните следующие действия:

(1.) В Тип раздел, выбрать Число in минимальный и максимальная раскрывающийся список;

(2.) Установите минимальное и максимальное значения в минимальный и максимальная коробка на основе ваших данных;

(3.) Наконец, выберите Сплошная заливка вариант под Заполнять раскрывающийся список, а затем выберите нужный цвет.

3. Затем нажмите OK кнопки, в ячейки вставлены индикаторы выполнения, см. снимок экрана:


Создайте индикатор выполнения в Excel с помощью удобной функции

Если у вас есть Kutools for Excel, он предоставляет множество специальных расширенных диаграмм, таких как Диаграмма индикатора выполнения, Таблица спидометра, График промокания, Диаграмма леденца на палочке, Столбчатая диаграмма переменной ширины и так далее. С этими Диаграмма индикатора выполнения вы можете быстро и легко вставить гистограмму на основе процентного значения или целевого и фактического значений.

Примечание: Чтобы применить это Диаграмма индикатора выполнения, во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.

После установки Kutools for Excel, пожалуйста, сделайте так:

1. Нажмите Кутулс > Графики > Прогресс > Диаграмма индикатора выполнения, см. снимок экрана:

2. В выскочившем Диаграмма индикатора выполнения диалоговом окне выполните следующие действия:

  • Под Диапазон этикеток оси, выберите значения оси из исходных данных;
  • Выберите Процент текущего завершения опция, если вы хотите создать диаграмму индикатора выполнения на основе процентных значений;
  • Затем выберите процентные значения из диапазона данных.

Советы: Если вам нужно создать диаграмму индикатора выполнения на основе целевого и фактического значений, вам просто нужно выбрать Фактический, целевой вариант и выберите данные отдельно от диапазона данных, как показано ниже:

3. После настройки операций нажмите OK кнопка, и сразу был вставлен символ индикатора выполнения, см. снимок экрана:


Дополнительные статьи о диаграммах:

  • Создание гистограммы, наложенной на другую гистограмму в Excel
  • Когда мы создаем кластеризованную столбчатую или столбчатую диаграмму с двумя рядами данных, эти две полосы ряда данных будут отображаться рядом. Но иногда нам нужно использовать наложенную или перекрывающуюся гистограмму, чтобы более четко сравнить две серии данных. В этой статье я расскажу о том, как создать перекрывающуюся гистограмму в Excel.
  • Создать шаговую диаграмму в Excel
  • Пошаговая диаграмма используется для отображения изменений, происходящих с нерегулярными интервалами, это расширенная версия линейной диаграммы. Но прямого способа создать его в Excel нет. В этой статье я расскажу о том, как шаг за шагом создать пошаговую диаграмму на листе Excel.
  • Выделите максимальные и минимальные точки данных на диаграмме
  • Если у вас есть столбчатая диаграмма, на которой вы хотите выделить самые высокие или самые маленькие точки данных разными цветами, чтобы выделить их, как показано на следующем снимке экрана. Как вы могли определить самые высокие и самые маленькие значения, а затем быстро выделить точки данных на диаграмме?
  • Создать диаграмму Ганта в Excel
  • Когда вам нужно отобразить график управления проектом в Excel, вам может помочь диаграмма Ганта. Большинству пользователей может быть известно, что диаграмма Ганта представляет собой горизонтальную гистограмму, которая часто используется в приложениях для управления проектами, и с ее помощью вы можете визуально и интуитивно просматривать временные рамки каждого управления проектами.

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

The progress bar is a pictorial representation that tells about the details of any goal or task. By seeing the progress bar one can judge how much work is completed and how much is left to be covered. By default, there is no such Progress Chart in Excel but it can be made manually using the existing vertical or horizontal bars. Generally, horizontal bars are mostly preferred to make a Progress Chart as it gives a more insightful view.

In this article, we are going to see the step-by-step process of making a Progress Bar in Excel using a suitable example shown below :

Example: Consider your class teacher has assigned you some tasks to complete. He also asked you to send him a report of the progress you made in the tasks every Sunday. There are two options : 

  • By using a table.
  • The pictorial representation is the Progress Bar.

Consider the table shown below :

        Progress Report
Tasks Completed Remaining
T-1 100% 0%
T-2 67% 33%
T-3 45% 55%
T-4 30% 70%
T-5 0% 100%

Implementation :

Step 1: Insert the data in the cells of Excel. Now for the column “Remaining” no need to enter the data manually. It will become cumbersome if there are more records. Excel provides us with a formula to directly calculate it. You can find the “Remaining” value for the first record T-1 and then drag the cell down and automatically all the columns will be filled with the values. The command is :

= 1 - Cell_Number

Cell_Number : The cell number of the "Completed" column whose remaining percentage value is to be calculated
The Cell_Number can be manually entered or by just left clicking on the cell. 

Step 2: Now select all the data and perform the following operations :

Select -> Insert -> Chart Sets -> 2-D Bar (Horizontal)

2-D Bar Insertion

Step 3: This is the most important step in making a Progress bar. Here, we have to perform a lot of modifications to the above-inserted chart to make it look like a Progress bar. 

To perform any modification in the chart, you can simply select the point in the chart to be modified and then right-click and click on “Format”. Another way is by using the “+” button in the top right corner of the chart.

  • Formatting the axis: Select the axis and then right-click on it and click on “Format Axis”. Now under the Format axis tab change the Bound and Unit values as shown below :

Format Axis

Axis changed

Now, it can be observed that the order of the tasks is reversed in the chart. To edit it again go to the format axis window and check the “Categories in Reverse Order” as shown below :

You can now format the Y-axis containing the tasks by increasing its font size and changing to “Bold” for a better view as shown below :

Remove all the outlines by going to Shape Outline and select “No Outline”.

  • In the Progress bar, we don’t need any title, axes for the percentage, grid lines. We can simply remove them by clicking on the “+” button in the top right corner and uncheck those options. You can simply remove the “Percentage” axis by selecting it and pressing the “Delete” button.

Modified Chart

  • Now the final goal is to make the bar more insightful by changing the color and its transparency so that it looks like a Progress bar. In the above chart, the “Blue color” part is the task completed, and the “Orange color” is the task remaining. So, the remaining part has to be made transparent.

To assign different color and style to the individual bar :

  • Select the bar “Completed Portion” in blue color.
  • Click on “Format” on the top of Excel.
  • Now select Theme Styles. Select the one which is having some shadow behind the color.

Assign different colors to all the bars of the “Completed” portion only. Thereafter, we will deal with the “Remaining” portion and will see how to change the transparency.

  • Now, select the “Remaining” portion in the bar individually and right-click on it and then select “Format Data Points.”

Now in the Format Data Point window, select Fill as “Solid Fill” and then change the color to the original color assigned to the bar as in the previous step and change the transparency to 60-70% to reduce the glow of the color. Repeat it for all the “Remaining” bar portions.

Progress bar

Now, you can change the value in the initial table and see the Progress Bar will also change as shown below :

  • To make the progress bar more appealing we can add data labels to it which tells data about how much work is completed.

Select the bars only the “Completed” portion and then right-click and select “Add Data Labels”. Now Data Labels will be added to it and you can change the font, size, color, and style of the Data Labels as per convenience.

Data Labels

Finally, after all the modifications the Progress Bar will look like this:

Final Progress Bar

This is one of the famous designs for a Progress Bar. You can perform various other modifications to obtain other types of Progress Bars as per your requirements.

  • Редакция Кодкампа

17 авг. 2022 г.
читать 2 мин


В этом пошаговом руководстве объясняется, как создать следующие индикаторы выполнения в Excel:

индикаторы выполнения в Excel

Шаг 1: введите данные

Во-первых, давайте введем некоторые данные, которые показывают процент выполнения для 10 различных задач:

Шаг 2: добавьте индикаторы выполнения

Затем выделите диапазон ячеек B2:B11 , содержащий проценты выполнения, затем щелкните значок « Условное форматирование » на вкладке « Главная », затем щелкните « Гистограммы » и щелкните « Дополнительные правила» :

Появится новое окно, позволяющее форматировать гистограммы.

Для минимума измените тип на число и значение на 0 .

Для Максимума измените Тип на Число и Значение на 1 .

Затем выберите любой цвет для полос. Мы выберем светло-зеленый:

После того, как вы нажмете OK , в каждой ячейке столбца B появится индикатор выполнения:

Шаг 3. Отформатируйте индикаторы выполнения

Наконец, мы можем растянуть ширину столбца и ширину строки в нашей электронной таблице Excel, чтобы индикаторы выполнения стали больше и их было легче читать.

Мы также можем добавить границу вокруг ячеек и выровнять текст, чтобы проценты были слева от ячеек:

Обратите внимание, что если вы обновите любой процент, длина индикатора выполнения изменится автоматически.

Например, предположим, что мы изменили последний процент прогресса на 22%:

Обратите внимание, что индикатор выполнения автоматически сократился, чтобы отразить этот новый процент.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:

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

Содержание

  1. Как создать индикаторы выполнения в Excel (шаг за шагом)
  2. Шаг 1: введите данные
  3. Шаг 2: добавьте индикаторы выполнения
  4. Шаг 3. Отформатируйте индикаторы выполнения
  5. Дополнительные ресурсы
  6. Отобразить процесс выполнения
  7. Линейный индикатор выполнения (прогресс бар) в Excel
  8. Построение линейного индикатора (прогресс бара)
  9. Вариант 1. Прогресс бар без шкалы
  10. Вариант 2. Прогресс бар со шкалой

Как создать индикаторы выполнения в Excel (шаг за шагом)

В этом пошаговом руководстве объясняется, как создать следующие индикаторы выполнения в Excel:

Шаг 1: введите данные

Во-первых, давайте введем некоторые данные, которые показывают процент выполнения для 10 различных задач:

Шаг 2: добавьте индикаторы выполнения

Затем выделите диапазон ячеек B2:B11 , содержащий проценты выполнения, затем щелкните значок « Условное форматирование » на вкладке « Главная », затем щелкните « Гистограммы » и щелкните « Дополнительные правила» :

Появится новое окно, позволяющее форматировать гистограммы.

Для минимума измените тип на число и значение на 0 .

Для Максимума измените Тип на Число и Значение на 1 .

Затем выберите любой цвет для полос. Мы выберем светло-зеленый:

После того, как вы нажмете OK , в каждой ячейке столбца B появится индикатор выполнения:

Шаг 3. Отформатируйте индикаторы выполнения

Наконец, мы можем растянуть ширину столбца и ширину строки в нашей электронной таблице Excel, чтобы индикаторы выполнения стали больше и их было легче читать.

Мы также можем добавить границу вокруг ячеек и выровнять текст, чтобы проценты были слева от ячеек:

Обратите внимание, что если вы обновите любой процент, длина индикатора выполнения изменится автоматически.

Например, предположим, что мы изменили последний процент прогресса на 22%:

Обратите внимание, что индикатор выполнения автоматически сократился, чтобы отразить этот новый процент.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:

Источник

Отобразить процесс выполнения

Часто при создании кодов в VBA используется обращение к ячейкам, листам, книгам и т.д. и их обработка в циклах. Пара примеров подобных циклов:

  • Просмотреть все файлы в папке — цикл по файлам в папке — Do While sFiles <> «» и For Each objFile In objFolder.Files
  • Массовая замена слов — цикл по ячейкам(массивам) — For lr = 1 To UBound(avArr, 1)
  • Не работают/пропали меню — цикл по всем панелям — For Each cmdBar In Application.CommandBars

Если операция в цикле выполняется за пару секунд — это вполне приемлемо и отражать графически подобные действия нет нужды. Но, если циклы «крутятся» по полчаса — вполне неплохо иметь возможность видеть на какой стадии цикл. Здесь есть один нюанс: циклы могут быть как с заранее известным кол-вом итераций, так и без этого понимания.
Цикл Do While из первого кода статьи Просмотреть все файлы в папке является циклом условия. Т.е. заранее неизвестно сколько файлов будет обработано и следовательно невозможно отразить прогресс выполнения задачи в процентах.
Циклы вроде For Each и For . Next как правило дают возможность определить общее кол-во элементов к обработке, т.к. применяются как правило к коллекциям и объектам, у которых есть свойство .Count. Углубляться в этой статье не стану — это лишь предисловие, чтобы было ясно, почему и зачем далее в статье продемонстрированы разные подходы отображения процесса выполнения.
Отобразить же процесс можно двумя способами:

Использование Application.StatusBar
Самый простой вариант отображения процесса выполнения кода. Он может быть без проблем использован на любом ПК.
Application.StatusBar — это специальный элемент интерфейса, расположенный в левой нижней части окна Excel и который может показывать дополнительную информацию в зависимости от действий пользователя. Все не раз видели его в работе. Например, после того как мы скопировали ячейки StatusBar покажет нам доп.информацию:

И из VBA есть доступ к этому элементу. Чтобы написать слово привет в StatusBar надо выполнить всего одну строку кода:

Чтобы сбросить значения StatusBar и передать управление им обратно самому Excel необходимо выполнить строку:

делать это обязательно, т.к. в противном случае вместо системных доп.сообщений будет постоянно показываться то значение, которое мы задали. Конечно, можно перезапустить Excel, но куда правильнее дописать в код строку, приведенную выше.
Как я уже упоминал — циклы могут быть с заранее неизвестным кол-вом итераций. В таких случаях очень удобно показывать стадию выполнения хотя бы из тех побуждений, чтобы пользователь видел, что программа не «зависла». на примере кода из статьи Просмотреть все файлы в папке:

Sub Get_All_File_from_Folder() Dim sFolder As String, sFiles As String ‘диалог запроса выбора папки с файлами With Application.FileDialog(msoFileDialogFolderPicker) If .Show = False Then Exit Sub sFolder = .SelectedItems(1) End With sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, «», Application.PathSeparator) ‘отключаем обновление экрана, чтобы наши действия не мелькали Application.ScreenUpdating = False sFiles = Dir(sFolder & «*.xls*») Do While sFiles <> «» ‘показываем этап выполнения Application.StatusBar = «Обрабатывается файл ‘» & sFiles & «‘» ‘открываем книгу Workbooks.Open sFolder & sFiles ‘действия с файлом ‘Запишем на первый лист книги в ячейку А1 — www.excel-vba.ru ActiveWorkbook.Sheets(1).Range(«A1»).Value = «www.excel-vba.ru» ‘Закрываем книгу с сохранением изменений ActiveWorkbook.Close True ‘если поставить False — книга будет закрыта без сохранения sFiles = Dir Loop ‘возвращаем ранее отключенное обновление экрана Application.ScreenUpdating = True ‘сбрасываем значение статусной строки Application.StatusBar = False End Sub

Если запустить код, то перед открытием каждой книги в строке StatusBar будет показано какой именно файл отрывается и обрабатывается. И так с каждым файлом:

В случае же с циклами, количество итераций которых есть возможность определить, можно показывать этап выполнения в процентах. Например, цикл по всем выделенным ячейкам:

Sub ShowProgressBar() Dim lAllCnt As Long, lr as Long Dim rc As Range ‘кол-во ячеек в выделенной области lAllCnt = Selection.Count ‘цикл по всем ячейкам в выделенной области For Each rc In Selection ‘прибавляем 1 при каждом шаге lr = lr + 1 Application.StatusBar = «Выполнено: » & Int(100 * lr / lAllCnt) & «%» DoEvents ‘чтобы форма перерисовывалась Next ‘сбрасываем значение статусной строки Application.StatusBar = False End Sub

В строке статуса это будет выглядеть так:

Но можно показывать информацию и в чуть более изощренных формах:
Вариант отображения % и блоками-цифрами от 1 до 10 (1 = 10% выполнения)

Sub StatusBar1() Dim lr As Long, lrr As Long, lp As Double Dim lAllCnt As Long ‘кол-во итераций Dim s As String lAllCnt = 10000 ‘основной цикл For lr = 1 To lAllCnt lp = lr 100 ‘десятая часть всего массива s = «» ‘формируем строку символов(от 1 до 10) For lrr = 10102 To 10102 + lp 10 s = s & ChrW(lrr) Next ‘выводим текущее состояние выполнения Application.StatusBar = «Выполнено: » & lp & «% » & s: DoEvents DoEvents Next ‘очищаем статус-бар от значений после выполнения Application.StatusBar = False End Sub

Вариант отображения % и стрелками -> (1 стрелка = 10% выполнения)

Sub StatusBar2() Dim lr As Long, lp As Double Dim lAllCnt As Long ‘кол-во итераций Dim s As String lAllCnt = 10000 For lr = 1 To lAllCnt lp = lr 100 ‘десятая часть всего массива ‘формируем строку символов(от 1 до 10) s = String(lp 10, ChrW(10152)) & String(11 — lp 10, ChrW(8700)) Application.StatusBar = «Выполнено: » & lp & «% » & s: DoEvents DoEvents Next ‘очищаем статус-бар от значений после выполнения Application.StatusBar = False End Sub

Вариант отображения % и квадратами (кол-во квадратов можно изменять. Если lMaxQuad=20 — каждый квадрат одна 20-я часть всего массива)

Sub StatusBar3() Dim lr As Long Dim lAllCnt As Long ‘кол-во итераций Const lMaxQuad As Long = 20 ‘сколько квадратов выводить lAllCnt = 10000 For lr = 1 To lAllCnt Application.StatusBar = «Выполнено: » & Int(100 * lr / lAllCnt) & «%» & String(CLng(lMaxQuad * lr / lAllCnt), ChrW(9632)) & String(lMaxQuad — CLng(lMaxQuad * lr / lAllCnt), ChrW(9633)) DoEvents Next ‘очищаем статус-бар от значений после выполнения Application.StatusBar = False End Sub

Этот вариант мне нравится больше всего.
При желании можно сделать и иные варианты — главное найти символы, которые будут показываться и определить их числовой код.

Использование UserForm
Использование стандартного элемента ProgressBar
Для Userform можно использовать стандартный контрол ProgressBar, но я лично не люблю добавлять на формы элементы, которые надо подключать отдельно. Потому как впоследствии контрол может отказаться работать, т.к. нужной версии не окажется на конечном ПК пользователя. Например в моем офисе 2010 для 64-битных систем его нет.
Поэтому про него кратко и в файле примере его нет. Как его создать:

  • создаем UserForm (в меню VBE —InsertUserForm. Подробнее про вставку модулей и форм — Что такое модуль? Какие бывают модули?)
  • отображаем окно конструктора(если не отображено): ViewToolbox
  • далее в меню ToolsAdditional Controls
  • там ищем что-то имеющее в названии ProgressBar и отмечаем его. Жмем Ок.

Теперь в окне Toolbox появится элемент ProgressBar. Просто перетаскиваем его на форму. В свойствах можно задать цвет и стиль отображения полосы прогресса. Останется лишь при необходимости программно показывать форму и задавать для элемента ProgressBar значения минимума и максимума. Примерно это выглядеть будет так:
Практический код
Например, надо обработать все выделенные ячейки. Если форма называется UserForm1, а ProgressBar — ProgressBar1, то код будет примерно такой:

Sub ShowProgressBar() Dim lAllCnt As Long Dim rc As Range ‘кол-во ячеек в выделенной области lAllCnt = Selection.Count ‘показываем форму прогресс-бара UserForm1.Show UserForm1.ProgressBar1.Min = 1 UserForm1.ProgressBar1.Max = lAllCnt ‘цикл по всем ячейкам в выделенной области For Each rc In Selection ‘прибавляем 1 при каждом шаге UserForm1.ProgressBar1.Value = UserForm1.ProgressBar1.Value + 1 DoEvents ‘чтобы форма перерисовывалась Next ‘закрываем форму Unload UserForm1 End Sub

Как использовать эту форму и коды
Первоначально надо скачать файл, приложенный к статье, и в свой проект перенести форму frmStatusBar и модуль mCustomProgressBarModule.
Далее просто внедряем нужные строки в свои коды с циклами:

  • До начала цикла необходимо вызывать процедуру инициализации формы:
    Call Show_PrBar_Or_No(lAllCnt, «Обрабатываю данные. «)
    первым аргументом задается общее кол-во обрабатываемых элементов, а вторым заголовок формы. Если второй аргумент не указан, то по умолчанию будет показан заголовок «Выполнение. «. Так же внутри кодов есть кусок кода, отвечающий за минимальное кол-во элементов к обработке. По умолчанию задано 10. Это значит, что если обрабатывается менее 10 ячеек, то форма прогресс-бара показана не будет. Нужно для случаев, когда производятся разные действия над ячейками, но неизвестно сколько их будет. Но зато известно, что с ними будет делать код. Часто для кол-ва ячеек менее 100 нет смысла отображать прогресс выполнения, т.к. это и так секундное дело.
    Чтобы изменить минимальное кол-во достаточно в строке bShowBar = (lCnt > 10) заменить 10 на нужное число.
  • Далее в каждом проходе цикла вызвать перерисовку формы под новое значение цикла:
    If bShowBar Then Call MyProgresBar
  • и в конце не забыть закрыть форму, чтобы не висела:
    If bShowBar Then Unload frmStatusBar

Пример применения формы:

Sub Test_ProgressForm() Dim lr As Long Dim lAllCnt As Long ‘кол-во итераций lAllCnt = 10000 ‘инициализируем форму прогресс-бара Call Show_PrBar_Or_No(lAllCnt, «Обрабатываю данные. «) ‘сам цикл For lr = 1 To lAllCnt If bShowBar Then Call MyProgresBar Next ‘закрываем форму, если она была показана If bShowBar Then Unload frmStatusBar End Sub

Так же все описанные примеры и коды можно найти в приложенном файле:
Скачать пример:

Tips_ShowProgressBar.xls (79,0 KiB, 6 106 скачиваний)

Статья помогла? Поделись ссылкой с друзьями!

Источник

Линейный индикатор выполнения (прогресс бар) в Excel

Разберёмся как создать и настроить линейный индикатор выполнения (прогресс-бар) в виде диаграммы в Excel.

Приветствую всех, уважаемые читатели блога TutorExcel.Ru!

В современную экономическую жизнь прочно вошли понятия КПЭ (ключевые показатели эффективности, или KPI) и дашборда, которые помогают нам увидеть насколько эффективно выполняются те или иные цели. Грамотная визуализация позволяет сделать это приятным и понятным глазу языком.

Мы уже разбирали с вами примеры пулевой диаграммы, диаграммы в виде спидометра, сейчас остановимся ещё на одном варианте визуализации — индикаторе выполнения (также встречаются названия индикатор процесса или прогресс-бар от английского progress bar).

Для начала давайте поймем, что же это именно такое?

Прогресс бар — это графический элемент в виде полоски (горизонтальной, вертикальной, круговой и т.д.), показывающий статус процесса с помощью заполнения полоски по мере выполнения. Вы часто можете видеть горизонтальный вариант графика во время ожидания загрузки файлов или установки программ.

Сегодня предлагаю подробно рассмотреть линейный вариант графика, который представляет собой простую горизонтальную или вертикальную полосу:

Также в целом можно выделить 2 способа построения графика:

  • Без делений на шкале; в этом случае полоска нарисована как единый объект.
  • С делениями. В этом случае дополнительно рисуется шкала, которая отображает уровни выполнения (к примеру от 0% до 40% — красная зона, от 40% до 70% — желтая зона и т.д.).

Построение линейного индикатора (прогресс бара)

Вариант 1. Прогресс бар без шкалы

Давайте приступим к построению и начнем с самого простого варианта.

Для начала создадим таблицу, состоящую всего из 2 рядов с данными, в первом будет исходный процент (к примеру 85%), а во втором оставшаяся недостающая часть до 100% (т.е. в данном случае 15% = 100% — 85%):

Выделяем диапазон с данными A1:B2 и строим гистограмму с накоплением (в панели вкладок выбираем Вставка -> Диаграммы -> Линейчатая гистограмма с накоплением):

Как видим Excel не совсем правильно интерпретировал данные и построил график с 2 рядами данных, поэтому для корректного отображения поменяем местами строки и столбцы (выделяем диаграмму и в панели вкладок Конструктор выбираем Строка/Столбец), этим мы добьемся отображения всех данных в одному ряду:

Отлично, диаграмма уже начинает приобретать узнаваемый вид.

Далее устанавливаем минимальную и максимальную границы для оси (щелкаем правой кнопкой мыши по горизонтальной оси и попадаем в настройки Формата оси), как 0 и 1 соответственно, чтобы наша полоска полностью помещалась и показывалась на графике:

В результате мы получаем следующий вид графика:

Уберем ненужные на текущий момент детали в виде названия, дополнительных осей и прочего, чтобы они не отвлекали от построения (их, безусловно, можно не удалять и компоновать на ваше усмотрение):

Как мы видим, полученная полоска занимает не всю ширину диаграммы, снизу и сверху мы видим пустые белые полосы.

Поэтому, чтобы растянуть диаграмму на всю возможную ширину и убрать лишние полосы, установим боковой зазор для ряда равным нулю (выделяем любой ряд с данными, щелкаем правой кнопкой мыши и выбираем Формат ряда данных -> Параметры ряда):

В итоге получаем более компактный вид:

Остались небольшие детали, покрасим части полоски в подходящие цвета и добавим подпись данных на ряд:

Все готово, перейдем к следующему варианту.

Вариант 2. Прогресс бар со шкалой

Отличие этого варианта от предыдущего заключается лишь в дополнительной подложке под полоску, которая показывает уровни выполнения показателя, остальные части практически повторяют предыдущий вариант построения.

Для начала несколько модифицируем нашу таблицу и добавим на нее дополнительные ряды для построения шкалы:

В данном случае я указал шаг шкалы равным 10%, но можно поставить абсолютно любой по вашему усмотрению, главное чтобы сумма всех таких шагов давала 100% (10 шагов по 10% как в примере, или 20 шагов по 5% и т.д.).

Выделяем диапазон с данными A1:B11 и, как и в предыдущем примере, строим линейчатую гистограмму с накоплением:

Повторяем алгоритм и меняем строки и столбцы местами, чтобы диаграмма приобрела необходимый нам вид:

Как мы видим, у нас появилась достаточно длинная полоса, где в начале находится полоска, а в конце как раз разместилась шкала в виде маленьких разноцветных прямоугольников.

Покрасим каждый шаг шкалы в подходящий цвет, для этого левой кнопкой мыши выделяем каждый ряд по отдельности и делаем заливку соответствующим цветом (к примеру, первые 4 шага красим красным, 3 средние — желтым и 3 последние — зеленым):

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

В результате настройки типов осей получаем:

Далее также для обеих осей указываем 0 и 1 как минимальную и максимальную границы, чтобы график был ровно от 0% до 100%:

Убираем название, оси данных и прочие ненужные в данный момент детали, настраиваем нулевой боковой зазор:

Так как шкала на полученной диаграмме не видна за основной полоской, то для основного ряда с данными установим прозрачность (щелкаем по ряду правой кнопкой мыши, в контекстном меню выбираем Формат ряда данных -> Заливка и границы -> Заливка):

Также добавим подпись данных и получаем:

По усмотрению шкалу можно сделать не сплошной, а с разделителями, для этого установим для каждого ряда шкалы белую границу:

Спасибо за внимание!
Если у вас есть вопросы по теме статьи — пишите в комментариях.

Источник

Понравилась статья? Поделить с друзьями:
  • Линия по работе с word
  • Линия отреза в excel
  • Линия над которой писать word
  • Линейное уравнение в excel формула
  • Линия на диаграмме word