Elettracompany.com

Компьютерный справочник
63 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Умная таблица excel vba

Команды VBA к умной таблице

Добрый день,
Где можно посмотреть синтаксис команд обращения к умной таблице?
По сути мне необходимо проверить в ячейке на наличие формулы только в пределах умной таблицы

Задать имя «Умной таблице» через VBA
Приветствую! Имеется лист с множеством не больших "Умных таблиц", необходимо пройтись макросом.

Поиск последней заполненной строки в умной таблице
Добрый день! Ищу последние заполненные строки в двух умных таблицах одинаковым способом, но в одном.

Создать равный размер производным умной таблице
Добрый вечер форумчане! имеется на листе Таблица1, от не ссылками некоторые данные отражены в.

Как определить последнюю строку в умной таблице Excel
Добрый день. Работаю над решением такой задачи: Private Sub CommandButton2_Click() Dim iRow As.

Вообще, проверку наличия формулы в ячейке можно выполнить так:

Добавлено через 3 минуты
Можете сохранить ссылку на наглядное описание диапазонов умной таблицы:
http://www.thespreadsheetguru.com/bl. t-excel-tables

Казанский, не посоветуете как запретить вставку формул с дублированием по всему столбцу, в принципе умной таблицей было предусмотрено наоборот)), в общем мне нужна была реализация всего потенциала умной таблицы, кроме вставки формулы в диапазон данных таблицы

имеются 4 отчета, во всех применен формат умной таблицы, только первая является резиновой, к которой привязаны остальные три с запасом строк, в случае внесения построчно новых данных в первую форму, так вот пользователь чтобы не ставил формулы, мне это нужно блокировать

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

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

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Разные заголовки в умной таблице сделать одинаковыми
Добрый день. Создал "умную таблицу" из имеющейся. На ней были повторяющиеся столбцы. А после.

Сортировка разных частей столбца в «умной таблице» Эксель
Доброй ночи! Проблема: в "умной таблице" записаны данные по 2м командам в виде список ФИО и.

Поиск максимального значения в стобце умной таблице, и генерация значения+1
Всем привет! Кто может подсказать, как писать код в VBA в таком случае. Имеется умная таблица.

VBA Excel. Создание таблицы (умной, обычной)

Создание таблицы с помощью кода VBA Excel. Создание «умной» и обычной пользовательской таблицы. Указание стиля «умной» таблицы, добавление строки итогов. Примеры.

Работа с «умной» таблицей

Создание «умной» таблицы

Создается «умная» таблица Excel с помощью следующего кода:

В данном примере:

ActiveSheet – лист, на котором создается таблица, может быть любой лист рабочей книги Excel.

Range(“$A$1:$L$15”) – диапазон, который преобразуется в таблицу. Можно использовать и такую форму: Range(Cells(1, 1), Cells(15, 12)), где индексы строк и столбцов можно заменить переменными.

xlNo – указывает, что первая строка выбранного диапазона не содержит заголовки столбцов (граф) будущей таблицы, и их необходимо добавить. В этом случае будет добавлена дополнительная строка с наименованиями столбцов по умолчанию: Столбец1, Столбец2, Столбец3 и т.д., которые в дальнейшем можно переименовать (количество строк в таблице, включая строку заголовков, получится на одну больше, чем в указанном диапазоне). Если в диапазоне уже содержатся заголовки столбцов будущей таблицы, то следует указать вместо xlNo значение xlYes. В этом случае первая строка указанного диапазона будет преобразована в строку заголовков, а если она будет не заполнена, то добавятся названия столбцов по умолчанию: Столбец1, Столбец2, Столбец3 и т.д. (количество строк в таблице, включая строку заголовков, будет то же, что и в указанном диапазоне).

МояТаблица1 – имя, присваиваемое создаваемой таблице. Имя должно быть без пробелов: при указании в коде VBA названия таблицы с пробелами, во время его выполнения Excel заменит пробелы знаками подчеркивания (по крайней мере, так происходит в Excel 2016).

Таблица будет создана со стилем по умолчанию (TableStyleMedium2 в Excel 2016).

Стиль «умной» таблицы

Присвоение стиля таблице (изменение стиля) осуществляется с помощью свойства TableStyle объекта ListObjects:

Свойство TableStyle может принимать следующие значения:

  • TableStyleLight (светлый) с индексом от 1 до 21 (в Excel 2016);
  • TableStyleMedium (средний) с индексом от 1 до 28 (в Excel 2016);
  • TableStyleDark (темный) с индексом от 1 до 11 (в Excel 2016).

Например, TableStyleLight5, TableStyleMedium24, TableStyleDark8.

Чтобы отменить стиль таблицы в коде VBA, необходимо свойству TableStyle присвоить пустую строку:

Этому коду соответствует выбор в разделе «Конструктор» на ленте инструментов Excel самого первого значка стилей в разделе «Светлый».

Добавление строки итогов

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

Удаляется строка итогов «умной» таблицы так:

Удаление «умной» таблицы

Удалить умную таблицу очень просто:

Создание пользовательской таблицы

Мне не приходилось на практике с помощью VBA Excel создавать «умные» таблицы, в отличие от пользовательских таблиц, которые использовались для улучшения восприятия различных отчетов или сгенерированных документов.

Для создания такой таблицы необходимо:

  • определить диапазон, если он заранее не известен (иногда для этого может понадобиться определить номер последней заполненной строки);
  • добавить границы ячеек;
  • отформатировать строку заголовков;
  • добавить строку итогов, если она необходима.

Подробнее о создании пользовательской таблицы в Примере 2.

Примеры создания таблиц

Задание для примеров

Набор данных для примеров создания таблиц

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

  • в табличной части 5 граф: № п/п, Наименование, Количество, Цена и Сумма;
  • сколько наименований добавил пользователь неизвестно.
  • определить количество строк;
  • добавить строку заголовков;
  • отобразить сетку (границы ячеек);
  • добавить строку итогов.

Таблицу будем оформлять двумя способами: путем создания «умной» и пользовательской таблиц.

Пример 1 – «умная» таблица

Упаковываем набор данных из задания в «умную» таблицу:

VBA Excel PivotTable
Сводные таблицы

«Пример создания Сводной таблицы макросом VBA Excel (эксель)»

В процессе профессиональной деятельности, оператор-аналитик многократно выполняет перегруппировку исходных (сырых) данных в тот формат, который удобен ему для анализа (например: таблица, график, диаграмма). Это может быть фильтрация, сортировка, создание сводных таблиц и т.д. …

Вспомните и проанализируйте свою повседневную работу…
Как часто Вам приходится выполнять однотипные операции с однотипными файлами?
Это и есть — работа по определенному алгоритму
А значит, эту работу можно запрограммировать и поручить компьютеру…

Читать еще:  Почему в excel решетки

Исходных данных может быть много!
Возможно, это будет множество листов во множестве книг Excel !
Результатов тоже может быть много (я имею в виду получение промежуточных результатов), но цель (или конечный результат) должна быть ясна и четко обозначена…
Один макрос может прочитать мегабайты данных из разных источников (обязательно предварительно указанных) и создать несколько новых файлов (или дописать информацию в существующие файлы)…

Мнение о Средствах (инструментах) специалиста-аналитика

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

Файлы с расширением xlsx, а ранее xls (книги Excel) для этой цели подходят как нельзя лучше и используются чаще обычного.

В Вашей организации так? Или по-другому?

Начиная с MS Office 2007, для работы с макросами используются файлы с другим расширением: xlsm – книга Excel с поддержкой макросов. Поэтому наиболее целесообразно в виде инструментов специалисту-аналитику использовать именно файлы с расширением xlsm. Это будут небольшие файлы, не содержащие больших объемов данных, но содержащие программный код макроса и указывающие какой лист какой книги этому макросу следует обработать…

Такой инструмент дает возможность быстро использовать возможности макроса для многих файлов (регулярно поступающих к аналитику) без переноса VBA-модулей в них.

Проверка вводимых данных в Excel (ключевых для работы макроса)

Такой подход накладывает несколько более строгие требования к задаваемым ключевым данным для работы макроса (тем данным, которые вводятся над исполнительной командной кнопкой). И хотя (в случае их отсутствия) ничего страшного не произойдет и пользователь просто получит сообщение об ошибке, но желательно средствами макроса подсказать пользователю, что им «не так сделано» и как удовлетворить справедливые запросы макроса на данные…

Видимо, название листа с целевыми данными (в отличие от предыдущего файла) было изменено, но Вам всего лишь нужно уточнить (посмотреть) как именуется лист в новом файле и вбить новое название в ячейку «В2». Именно так! Не переименовывать лист под требования макроса, а изменить ключевые данные для макроса… Ведь те, кто создавал для Вас файл данных, по каким-то причинам переименовали Лист…, то есть, с большой вероятностью, и в следующем файле (например, через месяц) Лист будет называться по-новому…

Диалоговые окна Windows в макросах Word и Excel

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

При этом в ячейку «В1» автоматически запишется имя открытой книги… В общем, сразу двух зайцев убиваем… И книга открыта, и макрос имеет на 100% безошибочные данные…

Фильтры данных (информации из баз данных Excel)

Фильтрация данных – это как процесс получения полезного продукта из руды…, то есть отсев всего не нужного и повышение, таким образом, полезности информации…
Фильтрация производится по эталонным данным… Вы должны указать, что Вам нужно или что Вам не нужно…
То есть можно смело говорить о двух видах фильтров:

  • положительные фильтры – пропускают в результирующий файл информацию, которая совпала хотя бы с одним из эталонов, а остальную игнорируют…
  • отрицательные фильтры – выбрасывают любую информацию, которая совпала хотя бы с одним из эталонов, и только оставшуюся пропускают в результирующий файл…

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

  • суммирование данных по 3-5 конкретным городам – резонно использовать положительный фильтр;
  • суммирование данных по всем городам, кроме Москвы и Санкт-Петербурга – здесь удобнее отрицательный фильтр;

Функция формирования фильтров для сводной таблицы (по массиву эталонных строковых значений) написана и есть в коде…

Пример создания Сводной таблицы макросом VBA Excel (эксель)

Хочу сразу оговориться, что многие авторитетные сайты, не считают задачу формирования сводной таблицы средствами VBA уместной. По их мнению, прекрасный инструментарий Excel позволяет с наименьшими трудностями обходиться без макросов в этом вопросе… Но, ко мне обращались, представители аналитического сообщества, которым скучно, и неприятно утомительно, из раза в раз устанавливать десятки флажков (checkbox) по нескольким полям большой Базы данных…. Так что все зависит от конкретного случая…. Для кого-то это решение может стать лучшим….

Определение строк сводной таблицы.

На этом этапе важно определить уровни группировки данных (по Вашему желанию или желанию Вашего руководства).

With svT.PivotFields(«Препарат»)
.Orientation = xlRowField
.Position = 1
End With
With svT.PivotFields(«Упаковка»)
.Orientation = xlRowField
.Position = 2
End With

Как видим, здесь в группу «Препарат» попали все виды упаковок данного лекарства.

Определение фильтров сводной таблицы.

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

‘добавляем эталонные строковые значения в массив необходимого размера
ReDim ar(0 To 5)
ar(0) = «Москва»:
ar(1) = «г Москва»:
ar(2) = «Москва г»:
ar(3) = «Москва, ТЦ «»Малая Родина»»»:
ar(4) = «г Владимир»:
ar(5) = «Зеленоград»

А сейчас формируем положительный фильтр по этим нескольким значениям

FilterPlusMinus True, ar, «Город» ‘оставляет только указанные города

Или отрицательный фильтр (результат показан на Рис.4)

FilterPlusMinus False, ar, «Город» ‘оставляет города, за исключением указанных

Конечно, фильтр, допускающий только одно значение выглядит проще…

‘добавление фильтра с одним значением
With ActiveSheet.PivotTables(tNam).PivotFields(«Поставщик»)
.Orientation = xlPageField
.Position = 1
End With
svT.PivotFields(«Поставщик»).ClearAllFilters
svT.PivotFields(«Поставщик»).CurrentPage = «Санофи Россия»

А это фильтр, который по умолчанию фильтром не является, так как пропускает любые значения…, но все же есть смысл его добавить к сводной таблице, чтобы иногда… (в некоторых трудно прогнозируемых случаях), можно было его подстроить вручную…

‘добавление фильтра со всеми значениями (для ручной корректировки в процессе анализа)
With ActiveSheet.PivotTables(tNam).PivotFields(«Плательщик»)
.Orientation = xlPageField
.Position = 1
End With
svT.PivotFields(«Плательщик»).CurrentPage = «(All)»

Определение полей сводной таблицы с Итоговыми данными (здесь суммами значений).

Итоговые данные (не обязательно суммирование) всегда представляют исключительный интерес… Правда?
Таких полей в сводной таблице может быть несколько, но в моем примере на «листе данных» больше нет числовых полей, поэтому и суммирование проводить больше, как по полю «Количество», не уместно…

Читать еще:  Сводная таблица на английском excel

svT.AddDataField svT.PivotFields(«Количество»), «Сумма по полю Количество», xlSum

И вот, результат.

Безошибочность работы макроса в разы превышает возможности человека…
Про скорость я уж вообще не говорю…, Ни каких сравнений…

Поэтому, изучать язык программирования VBA очень интересно и выгодно.
Долго…? Времени на изучение жалко…?
В принципе… это не обязательно… Как не обязательно знать электронную начинку телевизора, чтобы использовать этот телевизор по назначению…
Если Вы сотрудничаете с программистом, то Вам останется – указать минимум данных и запустить уже готовый макрос… Все.
Пробуйте…

VBA Projects

Programming and other

Умные схемы Excel

Если вы не любите читать статьи, а предпочитаете разбираться сами, то вот ссылки:

Последняя версия
Версия 3.0 от 18-06-2015:

Все версии с картой регионов РФ, для Excel 2007 и выше, с открытым программным кодом с комментариями.

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

А если нужно сделать десятки похожих карт?

Можно воспользоваться специальными картографическими программными продуктами, например Microsoft MapPoint или MapInfo Professional , способными визуализировать данные на карте (и решить многие другие задачи).

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

Базовая программа / макрос умеет делать вот что

  • Выводить столбец с названиями фигур, полигонов (на примере каждый регион представлен одним или несколькими полигонами). Вы можете удалить с карты РФ не интересующие Вас области или создать свою карту. Очистите устаревшую таблицу «Данные», и макрос создаст актуальный список элементов.
  • Автоматически разбивать набор числовых данных на указанное количество ступеней (линейно), присваивать соответствующие цвета каждой ступеньке, рисовать легенду для карты.
  • Обновлять цвета карты в соответствии с выбранным набором значений. Макрос может оперировать набором значений от одного и более. Не забывайте указывать название набора данных в первой строке листа ДАННЫЕ, например, «Январь 11».
  • Текущая версия может работать только в Excel 2007, т.к. использует новые свойства объекта Shape.

Порядок работы с картой

  • Определитесь, каким образом вы будете работать с картами. Если Ваши результаты подвержены изменениям, удобнее скопировать листы СХЕМА и ДАННЫЕ в ваш проект Excel и связать формулами числовые значения для карты с листами проекта. Вы сможете быстро получить свежие иллюстрации, если в расчетах сделаны уточнения. Сохраняйте проект в книге с поддержкой макросов, чтобы сохранить возможность обновлять схемы автоматически.
  • Или используйте книгу отдельно, как самостоятельный проект.
  • Отредактируйте карту. Создавайте фигуры в Excel с говорящими названиями для удобства работы с таблицей. Этот макрос выводит в список только полигоны (autoshapetype = 138). По коду 138 найдите в макросе листа «Схема» строку, прерывающую функцию. Удалите строку или отредактируйте, если вам нужно раскрашивать фигуры, отличные от типа полигон (№138). Удобно, если дополнительные элементы оформления карты не будут загромождать список.
  • Очистите устаревшие значения таблицы на листе Данные. Нажмите кнопку Обновить. Будет создан список названий фигур, которые вы собираетесь окрашивать в соответствии с числовыми данными.
  • Перенесите значения, характеризующие, например, один временной период, в один столбец, начиная с четвертого, в соответствующие строки. Не забывайте про необходимость названия столбца данных в первой строке листа Данные.
  • На листе СХЕМА выберите базовый цвет для палитры. Он будет примерно в середине расчетного градиента. В случае ошибки обработки Вашего выбора, автоматически устанавливается синий (тема №4).
  • Укажите количество ступеней или цветовых оттенков. В данном макросе выбор ограничен – от 2 до 7. Использовать больше ступеней вы можете после изменения кода и м.б. дизайна листа.
  • Выберите набор данных и кликните кнопку Обновить. Дождитесь завершения работы программы.

Про работу с макросами

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

Получив уведомление, запустите макрос визуализации:

Навигация по записям

Умные схемы Excel : 12 комментариев

Случайно наткнулся на Ваш блог, а конкретно на программу Визуализация наборов числовых значений на карте или любом другом рисунке из фигур Excel Версия 1.0. В связи с чем у меня к Вам вопрос, а нет ли случайно у Вас более продвинутой версии данной программы, в которой ступени цвета распределяются не от 0 (нуля). Чтобы можно было самостоятельно задавать как например «параметры оси» при построении графика в Excel ну т.е. минимальное, максимальное значение и шаг. А также чтобы можно было бы делать распределение в процентах, сейчас конечно тоже это можно, но в легенде отображаются доли, а не проценты (т.е. легенда воспринимала бы формат числа.
Ну а если бы на карту можно было бы наносить кружочками города и размер кружка также бы изменялся в зависимости от показателя было бы вообще супер.

Новой версии пока нет.
Полезные интересные функции, спасибо. Попробую реализовать.

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

Приветствую. Отличный файл!
В версиях 2.0 и 2.1 не удается применить значения второго столбца столба с данными (в примере — 2014), всегда возвращает на первый столбец с данными (в примере — 2013). Что нужно поправить в макросе?

Владимир, спасибо.
Ошибка исправлена в последней версии. В процедуре Public Sub Init() добавлено сохранение названия выбранного набора данных (столбца).

Спасибо за исправление. Отличный файл!

добрый день
вы написали как удалить формы с карты и создать собственную карту и не сказали как добавить, например, хочу добавить Крым
Заранее спасибо

Добрый день!
Спасибо за проявленный интерес. Добавить очень просто. Действия, касающиеся работы макроса, на примере Крыма:
1. Копируете Крым с карты Украины на карту России.
2. Установите название объекта формы Крыма (левый верхний угол, там где адреса ячеек таблицы, после редактирования обязательно нажмите Enter).
3. Обновляете карту — кнопка «Обновить».
4. На листе «Данные» в конце списка должно появиться название нового региона — значит все ок.
5. Вводите числовые значения для визуализации и пользуетесь картой.
Оформление настраивайте на свой вкус.

А города как можно добавить?

Добрый день, возможна ли работа данной карты в Excel версии 2003?

Для Офиса 2003 установите бесплатный «Пакет совместимости форматов Office».
Ссылка: https://www.microsoft.com/ru-ru/softmicrosoft/compatibility.aspx

Добрый день, скажите, есть возможность добавить карту пермского края вместо карты России??

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

VBA Excel: примеры программ. Макросы в Excel

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

Что такое VBA

Программирование в Excel осуществляется посредством языка программирования Visual Basic for Application, который изначально встроен в самый известный табличный процессор от Microsoft.

К его достоинствам специалисты относят сравнительную легкость освоения. Как показывает практика, азами VBA могут овладеть даже пользователи, которые не имеют навыков профессионального программирования. К особенностям VBA относится выполнение скрипта в среде офисных приложений.

Недостатком программы являются проблемы, связанные с совместимостью различных версий. Они обусловлены тем, что код программы VBA обращается к функциональным возможностям, которые присутствуют в новой версии продукта, но отсутствуют в старой. Также к минусам относят и чрезмерно высокую открытость кода для изменения посторонним лицом. Тем не менее Microsoft Office, а также IBM Lotus Symphony позволяют пользователю применять шифрование начального кода и установку пароля для его просмотра.

Объекты, коллекции, свойства и методы

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

Главным из них является Application, соответствующий самой программе Excel. Затем следуют Workbooks, Worksheets, а также Range. Например, для обращения к ячейке A1 на конкретном листе следует указать путь с учетом иерархии.

Что касается понятия «коллекция», то это группа объектов того же класса, которая в записи имеет вид ChartObjects. Ее отдельные элементы также являются объектами.

Следующее понятие — свойства. Они являются необходимой характеристикой любого объекта. Например, для Range — это Value или Formula.

Методы — это команды, показывающие, что требуется сделать. При написании кода в VBA их необходимо отделять от объекта точкой. Например, как будет показано в дальнейшем, очень часто при программировании в «Эксель» используют команду Cells(1,1).Select. Она означает, что необходимо выбрать ячейку с координатами (1,1) т.е. A1.

Вместе с ней нередко используется Selection.ClearContents. Ее выполнение означает очистку содержимого выбранной ячейки.

Как начать

Прежде всего требуется создать файл и сохранить его, присвоив имя и выбрав тип «Книга Excel с поддержкой макросов».

Затем необходимо перейти в приложение VB, для чего достаточно воспользоваться комбинацией клавиш «Alt» и «F11». Далее:

  • в строке меню, расположенном в верхней части окна, нажимают на иконку рядом с иконкой Excel;
  • выбирают команду Mudule;
  • сохраняют, нажав на иконку с изображением floppy disk;
  • пишут, скажем так, набросок кода.

Он выглядит следующим образом:

Обратите внимание, что строка «’Наш код» будет выделена другим цветом (зеленым). Причина в апострофе, поставленном в начале строки, который обозначает, что далее следует комментарий.

Теперь вы можете написать любой код и создать для себя новый инструмент в VBA Excel (примеры программ см. далее). Конечно, тем, кто знаком с азами Visual Basic, будет намного проще. Однако даже те, кто их не имеет, при желании смогут освоиться достаточно быстро.

Макросы в Excel

За таким названием скрываются программы, написанные на языке Visual Basic for Application. Таким образом, программирование в Excel — это создание макросов с нужным кодом. Благодаря этой возможности табличный процессор Microsoft саморазвивается, подстраиваясь под требования конкретного пользователя. Разобравшись с тем, как создавать модули для написания макросов, можно приступать к рассмотрению конкретных примеров программ VBA Excel. Лучше всего начать с самых элементарных кодов.

Пример 1

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

  • открывают вкладку «Вид»;
  • переходят на пиктограмму «Макросы»;
  • жмут на «Запись макроса»;
  • заполняют открывшуюся форму.

Для простоты в поле «Имя макроса» оставляют «Макрос1», а в поле «Сочетание клавиш» вставляют, например, hh (это значит, что запустить программку можно будет блиц-командой «Ctrl+h»). Нажимают Enter.

Теперь, когда уже запущена запись макроса, производят копирование содержимого какой-либо ячейки в другую. Возвращаются на исходную пиктограмму. Нажимают на «Запись макроса». Это действие означает завершение программки.

  • вновь переходят на строку «Макросы»;
  • в списке выбирают «Макрос 1»;
  • нажимают «Выполнить» (то же действие запускается начатием сочетания клавиш «Ctrl+hh»).

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

Имеет смысл увидеть, как выглядит код. Для этого вновь переходят на строку «Макросы» и нажимают «Изменить» или «Войти». В результате оказываются в среде VBA. Собственно, сам код макроса находится между строками Sub Макрос1() и End Sub.

Если копирование было выполнено, например, из ячейки А1 в ячейку C1, то одна из строк кода будет выглядеть, как Range(“C1”).Select. В переводе это выглядит, как «Диапазон(“C1”).Выделить», иными словами осуществляет переход в VBA Excel, в ячейку С1.

Активную часть кода завершает команда ActiveSheet.Paste. Она означает запись содержания выделенной ячейки (в данном случае А1) в выделенную ячейку С1.

Пример 2

Циклы VBA помогают создавать различные макросы в Excel.

Циклы VBA помогают создавать различные макросы. Предположим, что имеется функция y=x + x 2 + 3x 3 – cos(x). Требуется создать макрос для получения ее графика. Сделать это можно только, используя циклы VBA.

За начальное и конечное значение аргумента функции берут x1=0 и x2=10. Кроме того, необходимо ввести константу — значение для шага изменения аргумента и начальное значение для счетчика.

Все примеры макросов VBA Excel создаются по той же процедуре, которая представлена выше. В данном конкретном случае код выглядит, как:

Do While x1 0 Then Cells(1, 1).Value = 1

Ссылка на основную публикацию
Adblock
detector