Добрый день!
Сразу прошу прощения у гуру - учусь я... :(
Написал макрос, перебирающий даты в столбце и рисующий границу над диапазоном ячеек, если дата не совпадает с датой в вышестоящей ячейке. Вроде бы работает, но не могу понять почему он также рисует границу в ячейке, которая при запуске макроса являлась активной? Как можно этого избежать?
Sub Border()
Application.ScreenUpdating = False
Dim iLastRow As Long
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = iLastRow To 2 Step -1
If ActiveWorkbook.Worksheets("Приложение 2").Cells(i, 1) <> Cells(i - 1, 1) Then Range(Cells(i, 1), Cells(i, 12)).Select
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.Weight = xlMedium
End With
Next
End Sub
И второе... если не затруднит - прошу подсказать как добавить дополнительное форматирование, если условие выполняется, т.е.:
If ActiveWorkbook.Worksheets("Приложение 2").Cells(i, 1) = Cells(i - 1, 1) Then Range(Cells(i, 1), Cells(i, 12)).Select
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.Weight = xlHairline
End With
Прощу не ругать сильно.
Пример - 49 Кб.