サイトについて      連絡先   検索

VBA 行の高さを調整する

はじめに

Excel VBA の行の高さを調整する方法を紹介します。

Rows.RowHeight プロパティか Range.RowHeight プロパティから行の高さを調整できます。

Rows.AutoFit メソッドで行の高さを自動調整できます。

行の高さを取得する

Rows の引数に行番号を指定すると、その行の高さを取得できます。

行「2」の高さを取得するには Rows(2).RowHeight のように指定します。

Dim d As Double
d = Rows(2).RowHeight
d = Rows(2).Height
Debug.Print(d)

Range.EntireRow を使用すると、指定したセルの行を取得できます。

セル「A1」の行を高さするには Range("A1").EntireRow.RowHeight のように指定します。

Dim d As Double
d = Range("A1").EntireRow.RowHeight
d = Range("A1").EntireRow.Height
Debug.Print(d)

一行の高さを取得するとき RowHeight と Height は同じ値を返します。Height は取得専用です。

行の高さを設定する

行「2」に高さを設定するには Rows(2).RowHeight = 20 のように指定します。

Rows(2).RowHeight = 20
1

セル「A1」の行に高さを設定するには Range("A1").EntireRow.RowHeight = 20 のように指定します。

Range("A1").EntireRow.RowHeight = 20

複数行の高さを取得する

行の範囲「2 ~ 3」の高さを取得するには Range("2:3").RowHeight のように指定します。

複数の行の高さが全て同じであればその高さを取得し、一つでも違う高さがあれば Null を取得します。

Dim d As Double
d = Range("2:3").RowHeight ' 2 ~ 3 行目の高さを取得
d = Range("4:4").RowHeight ' 4 行目の高さを取得
Debug.Print(d)

Height では複数行の合計の高さを取得します。

Dim d As Double
d = Range("2:3").Height ' 2 ~ 3 行目の高さの合計を取得
Debug.Print(d)

複数行の高さを設定する

行の範囲「2 ~ 3」に高さを設定するには Range("2:3").RowHeight = 20 のように指定します。

各行の高さが指定した高さになります。

Range("2:3").RowHeight = 20
2

行の高さを自動設定する

行の高さをセルの内容に合わせて自動調整するには Rows.AutoFit メソッドを使用します。

行「2」の高さを自動設定するには Rows(2).AutoFit のように指定します。

Rows(2).AutoFit             ' 行「2」の幅を自動調整
Range("2:3").Rows.AutoFit   ' 行「2 ~ 3」の幅を自動調整
3

指定したシートの行を高さする

Rows.RowHeight とコードに書くと、アクティブなシートの行を高さします。これは ActiveSheet.Rows.RowHeight の ActiveSheet が省略されています。

' どちらも同じコード
Rows(1).RowHeight = 20
ActiveSheet.Rows(1).RowHeight = 20

シートを指定するには Sheets の引数にシート名またはインデックスを指定します。

1

Sheet1 のシートを指定するには、Sheets("Sheet1") か Sheets(1) と書きます。

' Sheet1 の行「1」に高さを設定
Sheets("Sheet1").Rows(1).RowHeight = 20
Sheets(1).Rows(1).RowHeight = 20

' Sheet2 の行「1」に高さを設定
Sheets("Sheet2").Rows(1).RowHeight = 20
Sheets(2).Rows(1).RowHeight = 20

関連ページ