Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

VBA Excel. Учет расхода воды и других ресурсов

    Учет расхода холодной воды и других коммунальных ресурсов по показаниям счетчиков с помощью VBA Excel. Расчет и хранение данных в электронном виде.

    Учет расхода воды

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

    В июне 2020 года у нас появилась возможность оплачивать воду через Сбербанк-онлайн, поэтому отпала необходимость заполнять и печатать квитанции, о которых я писал раньше. Но возникло желание автоматизировать расчет суммы к оплате и сохранять данные по месяцам в электронном виде с помощью VBA.

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

    Таблица учета холодной воды
    Таблица учета холодной воды

    Справа от таблицы учета холодной воды расположены командные кнопки и таблица тарифов:

    Командные кнопки и тарифы
    Командные кнопки и тарифы

    Верхняя строка рабочего листа закреплена (Вид –> Закрепить области –> Закрепить верхнюю строку). Кнопки «Добавить» и «Печатная форма» добавлены из коллекции элементов управления ActiveX:

    Добавление элементов управления ActiveX на рабочий лист Excel
    Добавление элементов управления ActiveX

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

    Кнопка «Добавить» рабочего листа открывает следующую пользовательскую форму:

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

    Код кнопки «Добавить» на рабочем листе (расположен в модуле листа с таблицей):

    При загрузке формы выполняется следующая процедура (расположена в модуле формы):

    Текстовые поля:

    • TextBox1 – поле для корректировки месяца;
    • TextBox2 – поле для корректировки года;
    • TextBox3 – поле для ввода текущего показания счетчика.

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

    Код кнопки «Добавить» пользовательской формы, который записывает новую* строку в таблицу (расположен в модуле формы):

    Переменные:

    • pps – первая пустая строка в таблице с показаниями счетчика;
    • tarif – адрес последней ячейки в колонке с тарифами.

    * Первая строка таблицы с данными должна быть записана вручную, так как предыдущие показания счетчика копируются из строки выше. Если вы делаете расчет не для себя, добавьте в код обработчик ошибок.

    Печать квитанций

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

    Я добавил реквизиты ресурсоснабжающей организации к первоначальной квитанции, которые на изображении и в приложенном файле изменены:

    Квитанция на оплату холодной воды
    Квитанция на оплату холодной воды

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

    Код кнопки «Печатная форма» (расположен в модуле листа с таблицей):

    Информация из выбранной строки записывается в массив a(). Бланк документа расположен на листе «Квитанция». Чтобы заполнить бланк данными из массива с помощью цикла, заполняемым ячейкам присвоены имена (Формулы –> Присвоить имя). Ячейки, которым присвоены имена, перечислены внутри процедуры в комментариях.

    В ячейке с итоговой суммой к оплате стоит формула =F9+C10.

    Скачать пример

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

    Чтобы хранить чеки Сбербанка, других финансовых организаций и платежных систем в электронном виде на своем компьютере, выведите их на печать, выберите принтер «Печать в PDF» и сохраните в выбранное место.

    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

    1 комментарий для “VBA Excel. Учет расхода воды и других ресурсов”

    Обсуждение закрыто.