Страницы: 1
RSS
Макрос для закраски набора строк
 
Здравствуйте! Подскажите как можно поправить данный макрос, чтобы не выделять диапазон какой хочу закрасить, а чтобы он был указан уже в макросе. И сразу в нем указать конкретный столбец по которому будет происходить условие закраски?
Код
Sub Highlight_Rows_Blocks()
    Dim nCol As Integer
    Dim nGr As Integer

    nCol = Application.InputBox(Prompt:="Введите номер столбца", Type:=1)
    If nCol < 1 Or nCol > Selection.Columns.Count Then Exit Sub
    Selection.Interior.ColorIndex = -4142

    For r = 1 To Selection.Rows.Count
        If Selection.Cells(r, nCol) <> Selection.Cells(r - 1, nCol) Then nGr = nGr + 1
        If nGr Mod 2 Then Selection.Rows(r).Interior.ColorIndex = 36
    Next r
End Sub
 
Код
nCol = 1
 
МатросНаЗебре Спасибо, разобрался! А как указать необходимый диапазон?
Я сейчас использую код:
Код
ActiveSheet.Range("A2:E18").Select
Но он выделяет весь диапазон, а можно без выделения?
 
Замените Selection на Range("A2:E18"). Например,
Код
Range("A2:E18").Interior.ColorIndex = -4142
 
Спасибо, сделал так
Код
Sub ZALIVKA()
    Dim nCol As Integer
    Dim nGr As Integer
    
    'Range("A2:S3000").Select
    Range("A2:S" & Cells(Rows.Count, 1).End(xlUp).Row).Select
    nCol = 5
    
    If nCol < 1 Or nCol > Selection.Columns.Count Then Exit Sub
    Selection.Interior.ColorIndex = -4142

    For r = 1 To Selection.Rows.Count
        If Selection.Cells(r, nCol) <> Selection.Cells(r - 1, nCol) Then nGr = nGr + 1
        If nGr Mod 2 Then Selection.Rows(r).Interior.ColorIndex = 35
    Next r
End Sub
Изменено: Денис Ш. - 22.10.2019 14:07:40
Страницы: 1
Наверх