пятница, 13 июля 2012 г.

Изменение Цвета линий в Excel 2003 с помощью VBA

Обновлял формы для Ликвидации Организации, т.к. закончилась черная краска в принтере.
Пришлось изменить все Цвета Линий в Excel 2003 VBA скриптом, т.к. полным выделением и выбором цвета Excel не хотел изменять цвет линий таблиц, а иного способа не нашел.

Если Вас интересует: доступ к линиям таблиц в VBA, работа с диапозонами Range, то поглядите код ниже :)


Sub UpdateLineColor()
Dim i As Integer, j As Integer

For i = 1 To 50
For j = 1 To 128
Range(Cells(i, j), Cells(i, j)).Select

If Selection.Borders(xlEdgeBottom).ColorIndex = -4105 Then  '11
  With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 11 '3
    End With
 End If
 If Selection.Borders(xlEdgeLeft).ColorIndex = -4105 Then  '-4105 Then
  With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 11 '11
    End With
 End If
 If Selection.Borders(xlEdgeRight).ColorIndex = -4105 Then  '-4105 Then
  With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 11 '11
    End With
 End If
 If Selection.Borders(xlEdgeTop).ColorIndex = -4105 Then  '-4105 Then
  With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 11 '11
    End With
 End If

Next
Next

End Sub

Примечание :
 ColorIndex = -4105 это цвет линий таблиц по умолчанию.
 ColorIndex = 11 - это темно-синий в моем случае. Та краска что была =)
xlEdgeTop, xlEdgeLeft, xlEdgeRight, xlEdgeBottom - это линия ячейки - верхняя, левая, правая, нижняя.
 i,j перебор ячеек. установите размерность по вкусу, точнее по Вашему случаю =)

Комментариев нет:

Отправить комментарий