Добить "нулями" отсутствующие данные - VBA

Узнай цену своей работы

Формулировка задачи:

Добрый день, уважаемые коллеги База данных на предприятии выдает статистические результаты в CSV формате. Но делает это не самым хорошим образом, те месяца где было "пусто" просто пропускает, а это плохо для постройки графика, потому как где ноль, ноль и должен быть, а не должна быть "сглаженная прямая" на диаграмме. В приложении файл парсер CSV и два CSV файла для примера. Один полный 36 месяцев, второй с пропусками. Задача состоит в том, что бы в место пропуска вклинить "пропущенный месяц" и ниже в таблице нарисовать нолик. В файле уже имеются наработки, но как то работать они не хотят... Заранее благодарен за любую помощь!

Решение задачи: «Добить "нулями" отсутствующие данные»

textual
Листинг программы
For c = Cells(2, 2).End(xlToRight).Column - 1 To 2 Step -1
    a = Split(Cells(2, c + 1), "-")
    dt = DateSerial(a(0), a(1), 1)
    While Format$(DateAdd("m", -1, dt), "yyyy-mm") > Cells(2, c)
        dt = DateAdd("m", -1, dt)
        Range(Cells(2, c + 1), Cells(3, c + 1)).Insert xlShiftToRight
        Cells(2, c + 1) = Format$(dt, "yyyy-mm")
        Cells(3, c + 1) = 0
    Wend
Next

ИИ поможет Вам:


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

Оцени полезность:

13   голосов , оценка 4.308 из 5