Rows / Columns

Worksheet

1. はじめに

Excel VBAにおけるRowsColumnsは、ワークシートや範囲内の「行」と「列」を操作するための重要なオブジェクトです。
これらを利用することで、特定の行や列の操作、挿入・削除、書式設定、値の取得・設定など、多彩なセル範囲操作が可能になります。


2. Rowsオブジェクトとは?

  • Excelのワークシートまたは特定の範囲内の「行」を表すオブジェクト。
  • 単一行や複数行、または全行を指定可能。
  • 例えばRows(1)は1行目全体を表し、Rows("3:5")は3行目から5行目までの複数行を表す。
  • 行番号は1から始まります。

基本例

Sub Rows基本例()
' 1行目全体の背景色を黄色に
Rows(1).Interior.Color = RGB(255, 255, 0)

' 3行目から5行目のフォントを太字に
Rows("3:5").Font.Bold = True
End Sub

3. Columnsオブジェクトとは?

  • Excelのワークシートまたは範囲内の「列」を表すオブジェクト。
  • 単一列や複数列、全列を指定可能。
  • 例えばColumns(1)はA列全体を表し、Columns("B:D")はB列からD列までを表す。
  • 列番号は1から始まります。

基本例

Sub Columns基本例()
' A列全体の幅を15に設定
Columns(1).ColumnWidth = 15

' B列からD列までを非表示に
Columns("B:D").Hidden = True
End Sub

4. RowsとColumnsの使い分けと共通点

項目RowsColumns
何を表すか行(横方向のセルの集まり)列(縦方向のセルの集まり)
指定方法行番号(例:Rows(3)列番号または列名(例:Columns(2)Columns("B")
複数範囲指定文字列形式で行範囲指定可能(例:Rows("3:5")文字列形式で列範囲指定可能(例:Columns("B:D")
操作例書式変更、挿入、削除、選択等同上

5. Rows、Columnsの詳細操作例

5-1. 行・列の挿入

Sub 行列挿入()
' 2行目に新しい行を挿入(既存の2行目以降が下にずれる)
Rows(2).Insert Shift:=xlDown

' B列に新しい列を挿入(既存のB列以降が右にずれる)
Columns("B").Insert Shift:=xlToRight
End Sub

5-2. 行・列の削除

Sub 行列削除()
' 5行目を削除
Rows(5).Delete Shift:=xlUp

' D列を削除
Columns("D").Delete Shift:=xlToLeft
End Sub

6. 範囲の指定と併用

6-1. Rangeと組み合わせた指定

Sub 範囲内の行・列操作()
Dim rng As Range
Set rng = Worksheets("Sheet1").Range("B2:D10")

' 範囲内の3行目(B4:D4)を赤くする
rng.Rows(3).Interior.Color = RGB(255, 0, 0)

' 範囲内の2列目(C2:C10)の幅を20にする
rng.Columns(2).ColumnWidth = 20
End Sub
  • RowsColumnsはワークシート全体だけでなく、指定した範囲オブジェクトに対しても使えます。
  • 範囲内の相対的な行・列を指定します。

7. ループ処理での活用

7-1. 全行に対してループ処理

Sub 全行ループ()
Dim i As Long
For i = 1 To 10
Rows(i).Interior.Color = RGB(240, 240, 240)
Next i
End Sub

7-2. 複数列に対してループ処理

Sub 複数列ループ()
Dim i As Long
For i = 1 To 5
Columns(i).ColumnWidth = 12
Next i
End Sub

8. 表示・非表示の操作

  • 行や列を非表示にするにはHiddenプロパティを使用。
Sub 行列非表示()
Rows("4:6").Hidden = True ' 4~6行目を非表示
Columns("E:G").Hidden = True ' E~G列を非表示
End Sub
  • 非表示を解除するにはFalseを代入。
Rows("4:6").Hidden = False
Columns("E:G").Hidden = False

9. 行・列の選択やコピー

9-1. 行・列の選択

Sub 行列選択()
Rows(3).Select ' 3行目選択
Columns("C").Select ' C列選択
End Sub

9-2. コピー・貼り付け

Sub 行列コピー()
Rows(2).Copy Destination:=Rows(5)
Columns("B").Copy Destination:=Columns("D")
End Sub

10. サイズ・書式の設定

10-1. 行の高さ調整

Sub 行高さ調整()
Rows(2).RowHeight = 25
Rows("4:6").RowHeight = 30
End Sub

10-2. 列幅調整

Sub 列幅調整()
Columns(1).ColumnWidth = 15
Columns("C:E").ColumnWidth = 20
End Sub

11. RowsとColumnsの応用的な使い方

11-1. 複数行・複数列を範囲で操作

Sub 複数行列操作()
Rows("2:4").Interior.Color = RGB(200, 200, 255)
Columns("B:D").Font.Bold = True
End Sub

11-2. UsedRangeと組み合わせる

Sub UsedRange行列操作()
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

' 使用中の範囲の行全体の高さを変更
ws.UsedRange.Rows.RowHeight = 18

' 使用中の範囲の列全体の幅を変更
ws.UsedRange.Columns.ColumnWidth = 12
End Sub

12. 注意点とポイント

  • RowsColumnsで指定する行・列番号は1から開始。
  • 範囲指定は文字列(”2:4″, “B:D”)か数値(2, 4)で可能。
  • 範囲外の行や列を指定するとエラーになることがあるので注意。
  • RowsColumnsはワークシート全体だけでなく、範囲オブジェクトに対しても使用できるため、範囲内の相対行列操作が可能。
  • 挿入・削除をすると行・列番号が変わるので連続処理時は気をつける。

13. まとめ

オブジェクト役割主なプロパティ・メソッド主な使い方例
Rows行全体または行範囲の操作.Insert, .Delete, .Hidden, .RowHeight, .Interior.Colorなど行の挿入・削除、色付け、非表示
Columns列全体または列範囲の操作.Insert, .Delete, .Hidden, .ColumnWidth, .Font.Boldなど列の挿入・削除、幅調整、書式設定
タイトルとURLをコピーしました