Пользовательские функции VBA

Рубрика: 7. Полезняшки Excel

Ранее были рассмотрены процедуры VBA. В настоящей заметке рассмотрены функции VBА.[1] Функция — это процедура VBA, которая выполняет вычисления и возвращает значение. Функции можно использовать в коде VBA или в формулах Excel. Процедуру можно рассматривать как команду, которая выполняется пользователем или другой процедурой. С другой стороны, функция обычно возвращает отдельное значение (или массив) подобно функциям рабочих листов Excel и встроенным функциям VBA.

Рис. 1. Применение пользовательской функции в формуле рабочего листа

Читать полностью

Регулярные выражения VBA

Рубрика: 7. Полезняшки Excel

Заметка написана Андреем Макаренко

Регулярные выражения (regular expressions) — очень мощный механизм для обработки строк. С его помощью можно найти нужные части текста, проверить, удовлетворяет ли строка определённой маске, заменить найденный текст. Такие выражения вcтроены во многие языки программирования, такие, как Perl, Php, JavaScript, и, конечно VBA.

Рассмотрим, как это работает на примере обработки счетов на доставку товаров. Исходные данные содержатся в отчете Excel в форме полного адреса (рис. 1). Наша задача — из строки вида «677000, Россия, Саха /Якутия/ Респ., г. Якутск, ул. Ойунского» выделить название города.

Рис. 1. Исходные данные

Читать полностью

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

Рубрика: 7. Полезняшки Excel

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

Рис. 1. Метод Move объекта Sheets

Читать полностью

Работа с процедурами VBA

Рубрика: 7. Полезняшки Excel

Процедура — это последовательность операторов VBA, расположенная в модуле VBA, доступ к которому можно получить с помощью VBE. Модуль может включать любое количество процедур.[1] Некоторые процедуры получают аргументы. Аргумент — это информация, используемая процедурой в процессе выполнения. Аргументы процедуры во многом подобны аргументам, используемым функциями Excel.

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

[Private | Public][Static] Sub имя([список_аргументов])
    [инструкции]
    [Exit Sub]
    [инструкции]
End Sub

Рис. 1. Запуск процедуры из Visual Basic Editor

Читать полностью

Основы программирования на VBA

Рубрика: 7. Полезняшки Excel

Для начала в качестве примера рассмотрим простую процедуру VBA типа Sub. Она хранится в модуле VBA и вычисляет сумму первых ста положительных целых чисел. По окончании вычислений процедура отображает сообщение с результатом.[1]

Sub VBA_Demo()
    'Пример простой процедуры VBA
    Dim Total As Long, i As Long
    Total = 0
    For i = 1 To 100
        Total = Total + i
    Next i
    MsgBox Total
End Sub

Читать полностью

Джон Уокенбах. Excel 2010. Профессиональное программирование на VBA

Рубрика: 7. Полезняшки Excel

Джон Уокенбах, один из крупнейших специалистов по Excel, представляет программирование на VBA (Visual Basic for Applications). Книга будет полезна, как начинающим, так и опытным программистам VBA. На момент публикации заметки вышла следующая версия книги для Excel 2013.

Джон Уокенбах. Excel 2010. Профессиональное программирование на VBA. – М.: Диалектика, 2010 – 944 с.

Читать полностью

Настройка среды Visual Basic Editor

Рубрика: 7. Полезняшки Excel

В процессе программирования на VBA в Excel вы будете проводить много времени, работая в окнах VBE. Чтобы сделать редактор более удобным, вам понадобится настройка среды Visual Basic Editor под ваши предпочтения.[1] Находясь в Excel, перейдите в окно VBE, например, нажав Alt+F11. В строке меню окна VBE выберите команду Tools –> Options. Появится диалоговое окно Options (Параметры) с четырьмя вкладками: Editor (Редактор), Editor Format (Формат редактора), General (Общие) и Docking (Прикрепление). Кстати, не путайте это окно с диалоговым окном Параметры Excel программы Excel, которое можно открыть в Excel с помощью команды Файл –> Параметры Excel.

Рис. 1. Вкладка Editor диалогового окна VBE Options (Параметры)

Читать полностью

Формат файлов Excel

Рубрика: 7. Полезняшки Excel

Начиная с версии 2007 в Excel используется XML-формат, на основе которого создаются рабочие книги, шаблоны и надстройки. Фактически эти файлы представляют собой ZIP-архивы. При необходимости они могут быть разархивированы и просмотрены.[1] В версиях, предшествующих Excel 2007, применялся двоичный файловый формат. И, хотя спецификации этого формата известны, работать с двоичными файлами совсем непросто. С другой стороны, файловый XML-формат относится к категории так называемых открытых форматов. Подобные файлы могут создаваться и обрабатываться с помощью любых программ, не относящихся к Office 2010.

В качестве примера используется файл с поддержкой макросов Excel (XLSM). Он состоит из одного рабочего листа, одного листа диаграммы и простого макроса на языке VBA. Рабочий лист включает таблицу, кнопку (из группы элементов управления Формы), рисунок Smart Art, а также фотографию цветка (рис. 1).

Рис. 1. Пример листа рабочей книги

Читать полностью

Новые диаграммы в Excel 2016

Рубрика: 7. Полезняшки Excel

Microsoft очень давно не добавлял в Excel новые типы диаграмм, и вот, наконец в версии 2016 появилось целых шесть новых диаграмм! В предыдущих версиях некоторые из них были в принципе недоступны, а для построения других приходилось совершать шаманские действия. Сейчас же всё происходит в несколько щелчков мыши. Итак, представляю вашему вниманию (рис. 1):

  • Дерево
  • Солнечные лучи
  • Гистограмма (два типа)
  • Ящик с усами
  • Каскадная

%d1%80%d0%b8%d1%81-1-%d0%bd%d0%be%d0%b2%d1%8b%d0%b5-%d1%82%d0%b8%d0%bf%d1%8b-%d0%b4%d0%b8%d0%b0%d0%b3%d1%80%d0%b0%d0%bc%d0%bc-%d0%b2%d1%8b%d0%b4%d0%b5%d0%bb%d0%b5%d0%bd%d1%8b

Читать полностью

Связывание текста диаграммы с ячейками

Рубрика: 7. Полезняшки Excel

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

%d1%80%d0%b8%d1%81-1-%d0%bf%d0%be%d0%ba%d0%b0-%d0%b7%d0%b0%d0%b3%d0%be%d0%bb%d0%be%d0%b2%d0%be%d0%ba-%d0%b4%d0%b8%d0%b0%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d1%8b-%d1%81%d0%b0%d0%bc-%d0%bf%d0%be

Рис. 1. Пока заголовок диаграммы «сам по себе»

Читать полностью