Функции, используемые в процедурах VBA

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

Настоящая заметка продолжает знакомство с VBA. В ней представлены некоторые «практичные» функции, которые могут использоваться в ваших приложениях либо помогут в создании аналогичных функций. Эти функции наиболее полезны, когда вызываются из другой процедуры VBA. Следовательно, они объявляются с ключевым словом Private и не отображаются в диалоговом окне Excel Мастер функций (подробнее см. Работа с процедурами VBA).[1]

Функция FileExists

Данная функция получает один аргумент (путь и имя файла) и возвращает ИСТИНА, если файл существует.

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

Методы программирования на VBA

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

Настоящая заметка продолжает знакомство с VBA, она иллюстрируют часто используемые приемы VBA, которые можно применять в собственных проектах.[1]

Рис. 1. Включение опции Перенос по словам

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

Управление рабочими книгами и листами в VBA

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

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

Рис. 1. Столбцы и строки скрыты за исключением рабочего диапазона

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

Работа с диапазонами в VBA

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

Настоящая заметка продолжает знакомство с VBA, в ней описана работа с диапазонами в VBA.[1]

Рис. 1. Пример, демонстрирующий, как выделять диапазоны различной формы в VBA$ чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке

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

Пользовательские функции 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 с.

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