VBA (Visual Basic Application) — интерпретируемый язык программирования, встроенный в Microsoft Office и позволяющий производить математические расчёты, реализовывать большой спектр алгоритмических задач, управлять Excel и другими приложениями Microsoft Office, а также осуществлять управление сторонними приложениями в операционной системе Windows.
Здесь будут рассмотрены возможности VBA применительно к Excel. При использовании VBA следует придерживаться нескольких важных правил:
- Создавать программу на VBA нужно тогда, когда решить задачу другими встроенными средствами Excel не возможно или очень сложно, а также для автоматизации рутинных операций.
- При создании программы следует разделять её на несколько файлов: файл с программой, файлы с исходными данными (справочники), текстовые файлы с основой кодов Power Query, конечные файлы с итоговыми данными и их визуализацей.
- Программный код логически разделить на модули.
- Разделить функционал программы с использованием VBA на взаимодействие с файлом и обработку данных.
- При взаимодействии с файлом отключать визуализацию процессов внутри офисного приложения.
- Для циклического взаимодействия с данными: Открыть файл, скопировать данные в массив, закрыть файл, провести взаимодействие с данными, открыть файл, скопировать данные в файл, закрыть файл, удалить массив.
- Некоторыми функциями сортировки и прочими встроенными функциями Excel лучше пользоваться непосредственно в таблицах.
- Обработку больших объемов данных осуществлять с помощью Power Query: Открыть файл с данными, открыть текстовый файл с основой скрипта Power Query и скопировать основу скрипта в программу, закрыть текстовый файл с основой скрипта, изменить скрипт Power Query, применить скрипт Power Query к файлу с данными, закрыть файл с данными.
- Для конвертации файла в различные кодировки использовать Notepad++ по средством управления данной программой из VBA.