Как поставить границы на определенных ячейках

У меня есть файл Excel, который отсортирован по статье, идентификатору и дате запуска, что означает, что у меня есть несколько строк с одной и той же статьей.

Я хочу разместить нижнюю границу под всеми строками с одной и той же статьей.

У меня есть это, но он ставит границы только под строкой заголовка.

Dim count As Integer
count = 0
For Each x In Range("G1").End(xlDown)
    count = count + 1
    Range(Cells(count, 1), Cells(count, 16)).Select
    With Selection.Borders(xlBottom)
     .LineStyle = xlContinuous
     .Color = vbBlack
     .Weight = xlThick
    End With
Next x

Есть ли в столбце А статьи?

urdearboy 10.08.2018 15:40

Нет, это в столбце G, а у файла есть вариантное количество строк

Annaïg 10.08.2018 15:44
1
2
49
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы хотите, чтобы это выделило самый низ ваших данных, сместите верхнюю границу цикла на 1 с помощью ws.Range("G" & ws.Rows.Count).End(xlUp).Offset(1).Row.

Sub BorderPatrol()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim i As Long

For i = 2 To ws.Range("G" & ws.Rows.Count).End(xlUp).Row
    If ws.Range("G" & i) <> ws.Range("G" & i - 1) Then
        With ws.Range("G" & i - 1).EntireRow.Borders(xlEdgeBottom) 
            .Color = vbBlack
            .Weight = xlThick
        End With
    End If
Next i

End Sub

Другие вопросы по теме