VBS, форматирование ячеек Excel

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

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

Всем доброго времени суток!
Нужна Ваша помощь, коллеги.
Работаю в БК (БОСС-кадровик), работа над формированием отчета, как я понял - на vbs. Сильно не пинайте, раньше никогда с БК не работал.
На текущий момент имеется следующий код:

В итоге я получаю excel-файл, который сразу открывается и заполнен данными, которые получает запрос. Заполняю начиная со второй строки (первая строка нечто вроде шапки).
Получаю в итоге что-то вроде такой таблицы в excel:
шапка шапка шапка шапка шапка
11111 11111 11111 ааааа ааааа
11111 11111 11111 ааааа ааааа
22222 22222 22222 ааааа ааааа
22222 22222 22222 ааааа ааааа
22222 22222 22222 ааааа ааааа
33333 33333 33333 ааааа ааааа
33333 33333 33333 ааааа ааааа
Нужно ее переформатировать вот в такой вид:
шапка шапка шапка шапка шапка
11111 11111 11111 ааааа ааааа
ааааа ааааа
22222 22222 22222 ааааа ааааа
ааааа ааааа
ааааа ааааа
33333 33333 33333 ааааа ааааа
ааааа ааааа
Т.е. если в первом, втором и третьем столбце значение совпадает с предыдущим - то ячейки 1го, 2го и 3го столбце в этой строке очистить. И так до конца документа.
Каким образом можно подобное реализовать?
Заранее благодарю за ответ.

Решение задачи: «VBS, форматирование ячеек Excel»

textual
Листинг программы
Dim row
Dim baserow

With WorkBook.Worksheets(1)
baserow=2
row=3

Do Until IsEmpty(.Cells(row,1))
  If .Cells(baserow,1)=.Cells(row,1) And .Cells(baserow,2)=.Cells(row,2) And .Cells(baserow,3)=.Cells(row,3) Then
    .Cells(row,1) = ""
    .Cells(row,2) = ""
    .Cells(row,3) = ""
  Else
    With .Range("A" & baserow & ":H" & row).Borders(7)
        .LineStyle = 1
    End With

    With .Range("A" & baserow & ":H" & row).Borders(8)
        .LineStyle = 1
    End With

    With .Range("A" & baserow & ":H" & row).Borders(9)
        .LineStyle = 1
    End With

    With .Range("A" & baserow & ":H" & row).Borders(10)
        .LineStyle = 1
    End With
    
    baserow = row
  End If
row = row + 1
Loop
End With

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


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

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

8   голосов , оценка 4.375 из 5