Excel VBA 行と列の編集

スポンサーリンク
スポンサーリンク

行と列の編集

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

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

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

を使用します。
それぞれのプロパティやメソッドについての解説をします。

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

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

RowsHeigh【ロウズハイト】プロパティの書式

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


設定する項目

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

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

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

指定した範囲の列幅を取得または設定するには
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【オートフィト】メソッド

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

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

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

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

オブジェクト.AutoFit


設定値の説明

  • オブジェクト
    高さや幅を調整したい行または列を示すRangeオブジェクトを指定します。

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

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

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

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

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

行や列の表示、非表示を切り替えるには
Hidden【ヒドゥン】プロパティを使用します。

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

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


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

Height【ハイト】プロパティ

Width 【ワイズ】プロパティ

指定した範囲の高さを取得するには
Height【ハイト】プロパティを使用します。
指定した範囲の幅を取得するには
Width 【ワイズ】プロパティを使用します。

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

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

Height【ハイト】Width 【ワイズ】プロパティの書式

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


設定値の説明

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

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

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

実行結果


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

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク