Mini-ats102.ru

ООО “Мультилайн”
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Сложение значений в зависимости от цвета ячеек в EXCEL

Сложение значений в зависимости от цвета ячеек в EXCEL

Функции для суммирования значений по цвету ячеек в EXCEL не существует (по крайней мере, в EXCEL 2016 и в более ранних версиях). Вероятно, подавляющему большинству пользователей это не требуется.

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

Необходимо сложить значения ячеек в зависимости от цвета фона. Основная задача: Как нам «объяснить» функции сложения, что нужно складывать значения, например, только зеленых ячеек?

Это можно сделать разными способами, приведем 3 из них: с помощью Автофильтра , Макрофункции ПОЛУЧИТЬ.ЯЧЕЙКУ() и VBA.

Exceltip

макросы excel

VBA считается стандартным языком написания сценариев для приложений Microsoft, и в настоящее время он входит в состав всех приложений Office и даже приложений других компаний. Следовательно, овладев VBA для Excel, вы сможете сразу перейти к созданию макросов для других программных продуктов Microsoft. Более того, вы сможете создавать полноценные программные продукты, одновременно использующие функции самых разных приложений.

Как включить макросы в Excel

По умолчанию, вкладка, отвечающая за управление и навигацию макросов в Excel, скрыта. Чтобы активировать данную опцию перейдите по вкладке Файл в группу Параметры. В появившемся диалоговом окне Параметры Excel, перейдите по вкладке Настройка ленты, в правом поле со списком ставим маркер напротив вкладки Разработчик. Данные действия актуальны для версий Excel 2010 и старше.

отображение вкладки разработчик

На ленте появиться новая вкладка Разработчик с элементами управления автоматизации Excel.

вкладка разработчик excel

Написание макросов в Excel

Во вкладке Разработчик в группе Код, нажмите кнопку Запись макроса. Появиться диалоговое окно Запись макроса, которая запрашивает некоторую информацию о будущем записываемом коде. Если вы впервые создаете макрос, можете просто нажать кнопку ОК. С данного момента Excel будет фиксировать каждое действие пользователя в модуле VBA, будь то ввод данных, форматирование или создание диаграмм. Чтобы остановить запись макроса, нажмите кнопку Остановить запись, которая находится в той же группе Код.

отключить макросы в excel

Вы также можете воспользоваться альтернативным вариантом записи макросов, воспользовавшись кнопкой Запись макроса, которая находится в левом нижнем углу рабочей книги Excel (правее статуса Готово).

Теперь вы можете посмотреть список всех созданных макросов, нажав на кнопку Макрос, находящуюся в группе Код. В появившемся диалоговом окне вы можете дать более описательные имена своим кодам или задать сочетания клавиш, которые бы запускали тот или иной макрос. Альтернативным вариантом запуска данного окна является нажатие клавиш Alt + F8.

Читайте так же:
Знак больше либо равно в excel

список макросов

Редактирование макросов

Поздравляю! Вы написали свой первый макрос. Логичным будет проверить теперь, какой же код сгенерировал нам Excel. Сгенерированный код написан на языке VBA (Visual Basic for Applications). Чтобы увидеть его, нужно открыть Редактор VB (VBE), который запускается нажатием клавиш Alt + F11 или кнопкой Visual Basic на вкладке Разработчик.

Чтобы избежать путаницы в редакторе вы можете работать только с одной вкладкой рабочей книги, листа или модуля. Так выглядит редактор в реалии.

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

Предлагаю на данном этапе подробнее изучить различные окна и меню редактора VBA. В дальнейшем это поможет вам сэкономить кучу времени.

Для просмотра кода, щелкните по ветке Modules в окне проектов и дважды щелкните по появившейся ветке Module1. Редактор откроет окно с кодом, как изображено на картинке.

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

Здесь можно редактировать сгенерированный код, который был записан при работе в Excel. К примеру, вам требуется заполнить определенный столбец значениями от 1 до 10. У вас уже есть первые три шага, которые вводят значения 1, 2 и 3 в первые три ячейки столбца А. Нам необходимо дописать оставшиеся семь шагов.

Если вы посмотрите на приведенный выше код, вы увидите, что макрос определенным образом структурирован. Сначала приложение перемещает курсор на ячейку с помощью команды Range("A1").Select, затем редактирует его содержимое с помощью ActiveCell.FormulaR1C1 = "1". Таким образом, для оставшихся шагов мы можем повторить эти действия, меняя адрес ячейки и значение, которое вы хотите записать в эту ячейку. Например, чтобы задать ячейке A4 значение 4, вы должны написать:

И повторить аналогичные шаги для оставшихся значений.

После того, как вы закончите редактирование, сохраните книгу. Запустить макрос вы сможете нажатием кнопки F5, либо, вернувшись в рабочую книгу Excel, перейти по вкладке Разработчик в группу Код -> Макросы и выбрать из списка, интересующий вас макрос.

Уделите несколько минут внимательному изучению кода, который сгенерировал Excel. Если вы новичок, вклад нескольких минут в изучение кода дадут потрясающий результат в знакомстве с объектами VBA в дальнейшем. Обратите внимание, что рассмотренный нами пример всего лишь иллюстрация. Есть более быстрые и эффективные способы достижения аналогичных результатов, о которых мы поговорим далее.

Увеличение скорости выполнения макросов Excel

Пока все хорошо. Давайте разберем пару хитростей, которые помогут ускорить выполнение макроса. Рассмотрим в качестве примера фрагмент кода, приведенный выше. Современные компьютеры отработают рассматриваемый код так быстро, что вы даже не заметите этого. Но что если вам необходимо выполнить операцию 50000 раз. Это займет какое-то время. Если макрос, написанный вами, исчисляется сотнями строк, ускорить выполнение кода можно путем обрезки части процессов, который не используется во время исполнения макроса.

Читайте так же:
Метод поиск решения в excel

Использование команды Application.ScreenUpdating

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

Команда Application.ScreenUpdating говорит Excel, чтобы он прекратил выводить пересчитанные данные на экран, а выдал готовые значения в конце выполнения кода.

Использование команды Application. Calculation

Вторая хитрость заключается в отключении автоматических вычислений. Давайте я поясню. Каждый раз, когда пользователь или процесс обновляет ячейку, Excel пытается пересчитать все зависимые от нее ячейки. Так скажем, если ячейка, которую пытается обновить макрос, влияет на 10000 остальных ячеек, Excel будет пытаться пересчитать их все до того, как закончится выполнение кода. Соответственно, если существует целый ряд влияющих ячеек, пересчет может значительно замедлить выполнение кода. Чтобы этого не происходило, вы можете установить команду Application. Calculation в начале кода, которая переключит пересчет формул в ручной режим, а затем вернуть автоматическое вычисление в конце макроса.

Будьте внимательны, не забудьте переключить данную опцию снова в автоматический режим в конце макроса. В противном случае, вам необходимо будет это сделать в самом Excel, перейдя по вкладке Формулы в группу Вычисление и выбрать Параметры вычислений –> Автоматический.

Избежание выбора ячеек и диапазонов

В режиме автоматической записи макросов, вы можете заметить, что Excel очень часто использует команду выбора ячеек, например, Range(«A1»).Select. В нашем примере, мы использовали данную команду несколько раз, чтобы выбрать ячейку и изменить ее значение. Вы можете избежать этого просто указав адрес ячейки и задав ей необходимое значение (Макрос записал движение курсора от одной ячейки к другой, следовательно, вставил эти шаги. Однако они не являются необходимыми). Так что, более эффективный код будет выглядеть следующим образом.

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

Читайте так же:
Как в фотошопе написать текст под наклоном

Примеры макросов Excel

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

Запускаем выполнение макроса

Чтобы проверить работу записанного макроса, нужно сделать следующее:

  1. В той же вкладке (“Разработчик”) и группе “Код” нажимаем кнопку “Макросы” (также можно воспользоваться горячими клавишами Alt+F8).Переход к макросам в Excel
  2. В отобразившемся окошке выбираем наш макрос и жмем по команде “Выполнить”.Запуск выполнения макроса в ЭксельПримечание: Есть более простой вариант запустить выполнение макроса – воспользоваться сочетанием клавиш, которое мы задали при создании макроса.

Выпадающий список из Form Controls (вариант 2):

Больше возможностей можно получить создав список из элементов Form Controls, для этого нужна вкладка "Developer" ("Разработчик"). Этот вариант отличается от предыдущего результатом работы.

Шаги для создания выпадающего списка:

  1. На вкладке "Developer" ("Разработчик") в блоке инструментов "Controls" нажимаем кнопку "Insert".
  2. В появившемся окне из верхней части с шапкой "Form Controls" выбираем элемент "Combo Box (Form Control)".
  3. Теперь на листе левой кнопкой мыши рисуем прямоугольник такого размера, как должен быть наш выпадающий список. Сам графический элемент после этого будет готов. Теперь укажем набор возможных значений для него.
  4. На только что созданном элементе нажимаем правой кнопкой мыши, выбираем последний пункт меню "Format Control" и переходим на последнюю вкладку "Control", если она не открылась по-умолчанию.
  5. В поле "Input range" нужно указать диапазон смежных ячеек с вариантами выбора для списка, в поле "Cell link" указываем одну связную ячейку (зачем это написано ниже) и "Drop down lines" это количество видимых элементов при нажатии на выпадающий список.
  6. Когда все поля указаны нажимаем "OK" и размещаем наш элемент в нужное место на листе с правильными размерами.

Как это выглядит:

Поскольку такого вида элемент графического интерфейса уже не интегрирован в ячейку листа как вариант 1, каким-то образом необходимо хранить активное значение выпадающего списка, чтобы взаимодействовать с другими элементами или ячейками листа. Существует связная ячейка, мы указывали её в шаге 5 при создании выше, куда записывается текущий номер значения из списка (в примере выше: январь — 1, февраль — 2. ). Теперь когда мы выбираем другое значение из списка в связной ячейке меняется активный номер, и мы можем реагировать на эти изменения формулами. Заметим, обратная манипуляция допустима — если поменять вручную число в ячейке то поменяется и активное значение в выпадающем списке.

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

Особенности этого варианта:

  • Выпадающий список отображается на отдельном слое поверх листа и закрывает видимость ячеек.
  • Внешний вид элемента нельзя изменить, меняются только размеры.
  • Не поддерживается ручной ввод значений, выбрать можно только значения из списка либо сбросить полностью активное значение.
  • Используется связная ячейка для вывода результата. Выводится порядковый номер элемента в списке (последовательность начинается с 1) а не выбранное строковое значение.
  • Элементу можно назначить 1 обработчик в виде макроса. Он сработает при выборе другого значения из списка.
  • Если используется макрос для элемента, то файл должен сохраняться с расширением .xlsm.

Назначение макроса кнопке управления формой

Если вас не слишком интересует форматирование кнопки и вас устраивает обычная серая кнопка, вы можете быстро вставить ее из элемента управления формы (или элемента управления ActiveX, как показано ниже), а затем назначить ему макрос.

Чтобы это работало, вам понадобится вкладка Разработчик на ленте. Если у вас его нет, вот подробное пошаговое руководство по размещению вкладки разработчика на ленте Excel.

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

  • Перейдите на вкладку «Разработчик».
  • В группе Control нажмите Insert.
  • В появившихся параметрах в параметрах элементов управления формы нажмите кнопку (элемент управления формой).
  • Щелкните в любом месте листа. Это вставит кнопку в любое место, где вы щелкнете, и автоматически откроет диалоговое окно «Назначить макрос».
  • В диалоговом окне «Назначить макрос» вы увидите список всех макросов, имеющихся в книге.
  • Щелкните имя макроса, который вы хотите назначить этой кнопке. В этом примере я нажимаю на макрос под названием GoodMorning.
  • Нажмите на ОК

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

По умолчанию это будет небольшая кнопка с написанным на ней текстом, например «Кнопка». Вы можете изменить текст на все, что захотите, а также можете изменить форму кнопки (перетаскивая края).

Поскольку это объект, который помещается на лист (как фигуры / диаграммы EXCEL), вы можете перетащить его в любое место на листе.

Одним из недостатков использования кнопки управления формой является то, что вы не можете полностью контролировать форматирование. Например, нельзя изменить цвет с серого на другой.

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

Вы получаете эти параметры форматирования кнопки, когда вы щелкаете правой кнопкой мыши по кнопке, а затем нажимаете «Управление форматом».

Откроется диалоговое окно «Управление форматом», в котором вы можете изменить тип / цвет шрифта, размер, выравнивание и т. Д.

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

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

  • Щелкните правой кнопкой мыши по кнопке
  • Нажмите на Управление форматом
  • Перейдите на вкладку «Свойства».
  • Выберите вариант — «Не перемещать и не изменять размер вместе с ячейками».
  • Нажмите ОК

Станьте профессиональным пользователем Microsoft Excel

Связывание ячеек между листами — это только один из примеров того, как вы можете фильтровать данные в Excel и организовывать свои электронные таблицы. Проверьте некоторые другие Советы и рекомендации по Excel что мы собрали вместе, чтобы помочь вам стать продвинутым пользователем.

Какие еще изящные лайфхаки Excel вы знаете и используете? Знаете ли вы какие-либо другие творческие способы связать ячейки в Excel? Поделитесь ими с нами в разделе комментариев ниже.

Как найти объединенные ячейки в Excel

Если лист Excel большой, на нем бывает трудно обнаружить объединенные данные. В таком случае воспользуемся поиском. На вкладке «Главная» нажмите кнопку «Найти и выделить» и выберите «Найти». Или нажмите горячие клавиши Ctrl + F. Читайте больше о горячих клавишах Excel.

Затем нажмите «Параметры» и «Формат».

Поставьте галочку около пункта «Объединение ячеек» и нажмите «ОК».

Дальше нажмите «Найти все» или «Найти далее», и нужные адреса будут выделяться последовательно. При нажатии на первую кнопку Вы увидите перечень всех объединенных диапазонов.

Вот и вся информация по объединенным ячейкам. Надеемся, она поможет Вам быстро и легко создавать книги в Excel и без проблем с ними работать.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector