WordVBA 表の行・列・セルに色付け:自動化で時短

WordVBA 表の行・列・セルに色付け-アイキャッチ WordVBA

ワードマクロで、表のセル・行・列に色をつけるVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひお試しください😉

表の列に色付け

以下のWordVBAを実行すると、すべての表の1列目と最終列に色を塗ります。


Sub 表の特定の列に色を付ける()
    
  Dim i As Long
  Dim j As Long
  Dim TblCnt As Long
  Dim TblColumnCnt As Long
  Dim CellCnt As Long
    
  'ファイル内にある表をカウント
  TblCnt = ActiveDocument.Tables.Count
    
  '全ての表をループ
  For i = 1 To TblCnt
    
     With ActiveDocument.Tables(i)
      
        TblColumnCnt = .Columns.Count
        CellCnt = .Range.Cells.Count
            
        For j = 1 To CellCnt
               
           '表の1列目の背景色をグレーに変更
           If .Range.Cells.Item(j).ColumnIndex = 1 Then
              .Range.Cells.Item(j).Range.Cells. _
              Shading.BackgroundPatternColorIndex = wdGray25
           End If
                
           '表の最終列の背景色を黄色に変更
           If .Range.Cells.Item(j).ColumnIndex = TblColumnCnt Then
              .Range.Cells.Item(j).Range.Cells. _
               Shading.BackgroundPatternColorIndex = wdYellow
           End If
            
        Next j
        
    End With
    
  Next i
    
End Sub

マクロ実行前


 

マクロ実行後

表の1列目をグレーにして、最終列を黄色にしました。


 
 

表の行に色付け(カーソルがある行)

以下のWordVBAを実行すると、カーソルがある表の行に色を塗ります。


Sub 表の行に色を付ける()
    
    'カーソルがある表の行を選択
    Selection.SelectRow
    
    '行に色付け(黄色)
    Selection.Shading.BackgroundPatternColor = wdColorYellow
    
End Sub

 

マクロ実行後

カーソルがある表の行に色付けをしました。


 
 

表の行に色付け(任意の行)

以下のWordVBAを実行すると、任意の表の行に色を塗ります。


Sub 表の行に色を付ける()
    
  Dim i As Long
  Dim j As Long
  Dim TblCnt As Long
  Dim TblRowCnt As Long
  Dim CellCnt As Long
    
  'ファイル内にある表をカウント
  TblCnt = ActiveDocument.Tables.Count
    
  '全ての表をループ
  For i = 1 To TblCnt
    
     With ActiveDocument.Tables(i)
        
        TblRowCnt = .Rows.Count
        CellCnt = .Range.Cells.Count
            
        For j = 1 To CellCnt
              
           '1行目の背景色を青に変更
           If .Range.Cells.Item(j).RowIndex = 1 Then
              .Range.Cells.Item(j).Range.Cells. _
               Shading.BackgroundPatternColorIndex = wdBlue
           End If
                
          '最終行の背景色をピンクに変更
           If .Range.Cells.Item(j).RowIndex = TblRowCnt Then
              .Range.Cells.Item(j).Range.Cells. _
              Shading.BackgroundPatternColorIndex = wdPink
           End If
            
        Next j
        
   End With
    
 Next i
    
End Sub

 

マクロ実行前


 

マクロ実行後

表の1行目と最終行に色付けをしました。

1行目は [RowIndex = 1] で指定します。
最終行は [RowIndex = TblRowCnt] で指定します。


 
 

表のセルに色付け

以下のWordVBAを実行すると、すべての表について特定文字を含む表のセルを着色します。


Sub 特定文字を含むセルを着色()
    
  Dim i As Long
  Dim j As Long
  Dim Q As Long
  Dim TblCnt As Long
  Dim CellCnt As Long
  Dim Target(3) As String
    
  'ファイル内にある表をカウント
  TblCnt = ActiveDocument.Tables.Count
    
  '対象文字列を配列に格納
  Target(1) = "一般"
  Target(2) = "ゴールド"
  Target(3) = "種別"
    
  '全ての表をループ
  For i = 1 To TblCnt
    
     With ActiveDocument.Tables(i)
    
        CellCnt = .Range.Cells.Count
            
        '表の全てのセルをループ
         For j = 1 To CellCnt
            
           '配列をループ
            For Q = 1 To 3
               
               '対象文字を含むセルの背景色を着色
               If InStr(.Range.Cells.Item(j).Range.Cells. _
                  Item(1).Range.Text, Target(Q)) >= 1 Then
                        
                  .Range.Cells.Item(j).Range.Cells.Item(1).Range.Cells. _
                  Shading.BackgroundPatternColorIndex = wdBrightGreen
               End If
                
            Next Q
        Next j
    End With
  Next i
    
End Sub

マクロ実行前

マクロ実行後

配列 [Target] で指定した文字を含むセルを、緑に色付けします。

結合されているセルに対象文字が含まれている場合も、着色します。


 
 
この記事がお役に立ちますと幸いです🍀
 
・【ワードマクロ】表の処理を自動化の使用例まとめ
 

【ワードマクロ】表の処理を自動化:超便利7選
...

 

「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説