【ワードマクロ】表の行・列に色付け:使用例3選

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] で指定します。


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

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

 

「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載