Деякі нотатки мовою VBA

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

Приклад автоматичного переформатування рядків

Процедура описує процес переформатування рядків за принципом, один рядок отримує фоновий колір за замовченням а другий - сірий. Таке форматування корисне при аналізі наприклад друкованих на папері прайсів.

Спочатку ми маємо деяку таблицю, наприклад:

Before vba rows.JPG

Процедура доволі проста, але функціональна. Тут вказана конкретна кількість рядків для обробки 12. Додана додаткова умова переформатування рядка, якщо перша комірка рядка містить число, то вважаємо дяний рядок за такий, який необхідно переформатувати.

Sub Macros()

Dim state As Boolean
state = False
For i = 1 To 12
    Value = Cells(i, 1)
    If ((IsNumeric(Value) = True) And (Value <> "")) Then
        ' MsgBox (Value)
        If (state = True) Then
            state = False
            Range(Cells(i, 1), Cells(i, 5)).Select
            With Selection.Interior
                .ColorIndex = 15
                .Pattern = xlSolid
            End With
        Else
            state = True
            Range(Cells(i, 1), Cells(i, 5)).Select
            Selection.Interior.ColorIndex = xlNone
        End If
        
    End If
Next i
End Sub

У результаті виконання макросу отримуємо:

After vba rows.JPG