Excel VBA 行と列の編集

スポンサーリンク

行と列の編集

Excelでは、セルの高さや幅の変更、セルの表示や非表示は、行や列単位で行います。

このように、ワークシートの編集操作にはセルを対象にするものだけでなく行や列を対象として編集する操作があります。

行や列を操作するプロパティやメソッド一覧

プロパティ・メソッド内容
RowsHeightプロパティ
【ロウズハイト】
行の高さの設定や取得をします。
ColumnWidthプロパティ
【カラムワイズ】
行の高さの設定や取得をします。
AutoFitメソッド
【オートフィト】
行の高さや列の幅を自動調整します。
Hiddenプロパティ
【ヒドゥン】
行や列の表示と非表示を切り替えます。
Heightプロパティ
【ハイト】
セル範囲の高さを取得します。
Widthプロパティ
【ワイズ】
セル範囲の幅を取得します。

RowsHeight【ロウズハイト】プロパティ

指定したセル範囲の行の高さを取得または設定するには、Range【レンジ】オブジェクトのRowsHeigh【ロウズハイト】プロパティを使用します。

RowsHeigh【ロウズハイト】プロパティの書式と設定値の説明

【値の取得】
オブジェクト.RowsHeight
【値の設定】
オブジェクト.RowsHeight = 設定値

  • オブジェクト(必須)
    行の高さを取得または設定する範囲をRange【レンジ】オブジェクトで指定します。
  • 設定値(必須)
    行の高さをポイント単位で指定します。(1ポイントは約0.35ミリ)

※行の高さの取得は、複数範囲を選択した場合、高さが違う行があるとNnll【ナル】値が返るので必ず1行ずつ取得します。


ColumnWidth【カラムワイズ】プロパティ

指定した範囲の列幅を取得または設定するには、Range【レンジ】オブジェクトのColumnWidth【カラムワイズ】プロパティを使用します。

ColumnWidth【カラムワイズ】プロパティの書式と設定値の説明

【値の取得】
オブジェクト.ColumnWidth
【値の設定】
オブジェクト.ColumnWidth = 設定値

  • オブジェクト(必須)
    列の高さを取得または設定する範囲をRange【レンジ】オブジェクトで指定します。
  • 設定値(必須)
    列の幅を標準フォントの半角英数1文字分の幅を1とする単位で指定します。

※列の高さの取得は、複数範囲を選択した場合、幅が違う列があるとNnll【ナル】値が返るので必ず1列ずつ取得します。

コード例

Sub 行高列幅()
Rows(1).RowHeight = Rows(2).RowHeight
Columns(1).ColumnWidth = 10
MsgBox "1行目の高さは" & Rows(1).RowHeight & vbCrLf & _
"1列目の幅は" & Columns(1).ColumnWidth
End Sub

実行結果


AutoFit【オートフィト】メソッド

行の高さや列幅をセルに表示されている文字列に合わせて調整するのは、Range【レンジ】オブジェクトのAutoFit【オートフィト】メソッドを使用します。

行の場合は、指定した行内で使用している一番大きいフォントサイズに合わせて自動調整されます。

列の場合は、指定した列内で使用されている一番長い文字列の幅に合わせて自動調節されます。

AutoFit【オートフィト】メソッドの書式と設定値の説明

オブジェクト.AutoFit

  • オブジェクト(必須)
    高さや幅を調整したい行または列を示すRange【レンジ】オブジェクトを指定します。

すべての行と列の高さ幅を自動調整するコード例

Sub 自動調整()
Rows.AutoFit
Columns.AutoFit
End Sub

行の高さや列の幅を標準値に戻す方法

行の高さを標準値に戻すには、Range【レンジ】オブジェクトのUseStandardHeigth【ユーズスタンダードハイト】プロパティにTrueに設定します。すべての行高さを標準値に戻すには「Rows.UseStandardHeigth = True」と記述します。行高さの標準値は文字のフォントサイズに関係します。

列の幅を標準値に戻すには、Range【レンジ】オブジェクトのUseStandardWidth【ユーズスタンダードワイド】プロパティにTrueに設定します。すべての行高さを標準値に戻すには「Columns.UseStandardWidth = True」と記述します。列幅の標準値は文字のフォントサイズに依存しません。


Hidden【ヒドゥン】プロパティ

行や列の表示、非表示を切り替えるには、Range【レンジ】オブジェクトのHidden【ヒドゥン】プロパティを使用します。値の取得と設定ができます。

Hidden【ヒドゥン】プロパティの書式と設定値の説明

【取得】
オブジェクト.Hidden
【設定】
オブジェクト.Hidden = 設定値

  • オブジェクト(必須)
    表示と非表示を切り替えたい行や列を表すRangeオブジェクトを指定します。RowsプロパティやColumnsプロパティで指定します。
  • 設定値(必須)
    Trueの場合は行や列が非表示になり、Falseの場合は表示されます。

Height【ハイト】プロパティ

Width 【ワイズ】プロパティ

指定した範囲の高さを取得するにはRange【レンジ】オブジェクトのHeight【ハイト】プロパティを使用します。

指定した範囲の幅を取得するにはRange【レンジ】オブジェクトのWidth 【ワイズ】プロパティを使用します。

一つのセルを指定した場合はそのセルを含む行の高さと列の幅を取得できます。

セルの範囲を指定した場合はセル範囲の高さや幅の合計値が取得できます。

Height【ハイト】Width 【ワイズ】プロパティの書式と設定値の説明

オブジェクト.Height
オブジェクト.Width

  • オブジェクト(必須)
    高さや幅を取得したいセル範囲をRangeオブジェクトで指定します。

セル範囲の行の高さと列の幅をメッセージボックスに表示するコード例

Sub 高さ幅取得()
MsgBox _
"セル範囲の高さは" & Range("A1:D2").Height & "ポイントです。" & vbCrLf & _
"セル範囲の幅は" & Range("A1:D2").Width & "ポイントです。"
End Sub

実行結果


以上で、行と列の編集についての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告