Расцвечивание отдельных ячеек в таблице

Источник: wordexpert
Антон Кокин

Как сделать условное форматирование в таблице Word: при значении "ready" - красить ячейку в зеленый цвет, при значении "on goning" - в желтый, и при других значениях - в красный? В Excel это называется условным форматированием. В Word найти такого не смог.

Тимофей, если вы хотите делать это автоматически, то вам нужно использовать макрос, который бы проверял каждую ячейку таблицы и, найдя определенное слово в ней, заливал бы эту ячейку нужным цветом. В принципе это несложно реализовать с помощью следующего макроса.

Sub cellscolor()
'Расцвечивание отдельных ячеек в таблице в зависимости от текста в этих ячейках
'Помощь Steven Craig Miller 
Dim rngTable As Range
Dim oTable As Table
Dim oRow As Row
Dim oCell As cell
Dim sStr As String
Set rngTable = Selection.Range
Set oTable = Selection.Tables(1)
If Not rngTable.Information(wdWithInTable) Then
 MsgBox prompt:="Курсор находится вне таблицы"
Else
   With oTable
      For Each oRow In .Rows
         For Each oCell In oRow.Cells
            oCell.Shading.BackgroundPatternColor = wdColorRed  'заливаем все ячейки одним цветом
            sStr = oCell.Range.Text
            'помимо текста ячейка всегда содержит два дополнительных символа
            'в конце. Эти символы нужно исключить, что и делает сл.оператор
            sStr = Left(sStr, Len(sStr) - 2)
            Select Case sStr
               Case "ready"
                  oCell.Shading.BackgroundPatternColor = wdColorGreen   'зеленым
               Case "on goning"
                  oCell.Shading.BackgroundPatternColor = wdColorYellow  'желтым
            End Select
         Next oCell
      Next oRow
   End With
End If
End Sub

Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=17327