Форум по VBA, Excel и Word

VBA, Excel => VBA, макросы в Excel => Тема начата: Посетитель от 13 сентября 2022, 09:37

Название: Условное форматирование групп ячеек при помощи цвета.
Отправлено: Посетитель от 13 сентября 2022, 09:37
Прошу помочь написать макрос для форматирования групп ячеек. Названия изделий всегда разные. Спасибо!
Название: Re: Условное форматирование групп ячеек при помощи цвета.
Отправлено: Посетитель от 18 октября 2022, 11:11
Если кому интересно придумал сам через циклы.

Sub ОкраситьШахматку()
'    Цветовое разделение изделий для спецификации покупателя
    Dim z As Long
    Worksheets("СП Покупателю").Activate
   
    Range("B2").Activate
   
    Range(ActiveCell.Offset(0, -1), ActiveCell.Offset(0, 4)).Interior.Color = RGB(226, 239, 218)
    Application.ScreenUpdating = False
    For z = 1 To 100
        Do While ActiveCell = ActiveCell.Offset(1, 0)
                If ActiveCell.Value <> "" Then
                ActiveCell.Offset(1, 0).Activate
                Range(ActiveCell.Offset(0, -1), ActiveCell.Offset(0, 4)).Interior.Color = RGB(226, 239, 218)
                Else: Range(ActiveCell, ActiveCell.Offset(0, 4)).Clear
                Exit For
                End If
        Loop
           ActiveCell.Offset(1, 0).Activate
           Range(ActiveCell.Offset(0, -1), ActiveCell.Offset(0, 4)).Interior.Color = RGB(255, 242, 204)
        Do While ActiveCell = ActiveCell.Offset(1, 0)
                If ActiveCell.Value <> "" Then
                ActiveCell.Offset(1, 0).Activate
                Range(ActiveCell.Offset(0, -1), ActiveCell.Offset(0, 4)).Interior.Color = RGB(255, 242, 204)
                Else: Range(ActiveCell.Offset(0, -1), ActiveCell.Offset(0, 4)).Clear
                Exit For
                End If
        Loop
            ActiveCell.Offset(1, 0).Activate
            Range(ActiveCell.Offset(0, -1), ActiveCell.Offset(0, 4)).Interior.Color = RGB(226, 239, 218)
   Next
   Application.ScreenUpdating = True
   
    If ThisWorkbook.Worksheets("СП Покупателю").Range("A2") = ThisWorkbook.Worksheets("СП Покупателю").Range("B2") Then
    ThisWorkbook.Worksheets("СП Покупателю").Columns("A").Delete
    End If


End Sub
Название: Re: Условное форматирование групп ячеек при помощи цвета.
Отправлено: Noob2 от 22 октября 2022, 16:59
Нужна кнопка, которая сортирует по цветам?  Или есть другие критерии для сортировки?