Автоматизация Excel, VBA и Office

Excel остаётся. Ручная работа уходит.

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

Что я делаю

Исправляю старый код VBA

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

Автоматизирую ручные операции

Загрузка данных из выгрузок, CSV-файлов и баз данных, форматирование, проверки и готовый результат в виде PDF, писем и документов.

Разрабатываю надстройки

Когда макросы перерастают рамки одного файла, я разрабатываю надстройку VSTO на C# с вкладкой на ленте, формами, проверкой ввода и установщиком. Версии ведутся так же, как у полноценной программы.

Подключаю Excel к данным

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

Не только Excel

Документы Word и письма Outlook, которые формируются из ваших данных по единым шаблонам.

  • Excel
  • VBA
  • VSTO
  • C#
  • .NET
  • Office (Word, Outlook)
  • SQL Server
  • CSV / XML

Когда Excel подходит, а когда нет

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

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

Как обычно проходит проект с Excel

  1. Знакомство

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

  2. Анализ

    Я изучаю и описываю формулы, макросы и источники данных.

  3. Объём работ

    Письменное предложение: что меняется, что остаётся и сколько это стоит.

  4. Разработка и проверка

    Каждое изменение проверяется на реальных примерах, которые вы утвердили.

  5. Передача

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

Вопросы по теме

Можете ли вы работать с файлом, который создал кто-то другой?

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

Важна ли версия Excel?

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

В наших таблицах конфиденциальные данные. Как быть?

До того как вы что-то пришлёте, мы договоримся, как передавать файлы. Для первого разговора достаточно описания файла или примера с вымышленными данными. Если нужно NDA, мы можем подписать его заранее.

Вы работаете с Google Таблицами?

Я специализируюсь на Microsoft Excel и Office. Если ваш процесс построен на Google Таблицах, всё равно напишите, и я честно скажу, смогу ли помочь.

Какой файл все боятся открывать?

Расскажите, для чего он нужен и что в нём ломается. Присылать файл пока не нужно. Если что-то понадобится, я попрошу.

Описать задачу