水曜日, 4月 05, 2023

Excel VBA 10 
列、行のサイズ設定とフォント指定

■列幅を指定
VBAでは、Excelのワークシートで列の幅を指定するには、ColumnWidthプロパティを使用します。

■行幅を指定
VBAを使用して、Excelワークシートの行の高さを指定するには、RowHeightプロパティを使用します。

列と行の単位はデフォルト設定の列幅は「ピクセル(標準スタイルで設定されているフォントの半角文字数)、行高は「ポイント」としています。ちなみに、変更は行っていないと思うのですが、私の環境では以下の様になっていました。

Windows11環境>
デフォルトフォント:11pt
列幅:8.38(72px)/行高:18.75pt

macOS(Ventura)環境>
デフォルトフォント:12pt
列幅:10(75px)/行高:20pt

以下は無調整の状態です。

■2列目の幅を20に設定する場合は、ActiveSheet.Columns(2)で2列目をColumnWidthプロパティで20に設定します。
--------------------
Sub 列幅20()
ActiveSheet.Columns(2).ColumnWidth = 20
End Sub
--------------------
処理結果です。なお、上記マクロ処理の結果ではセルの選択はしません。

■2列目から4列目までの幅を20に設定する場合は、Range("B:D")で列Bから列DをColumnWidthプロパティで20に設定します。
--------------------
Sub 範囲列幅20()
ActiveSheet.Range("B:D").ColumnWidth = 20
End Sub
--------------------
処理結果です。なお、上記マクロ処理の結果ではセルの選択はしません。

3行目の高さを20に設定する場合は、RowHeightプロパティで20に設定します。
--------------------
Sub 行高30()
ActiveSheet.Rows(3).RowHeight = 30
End Sub
--------------------
処理結果です。なお、上記マクロ処理の結果ではセルの選択はしません。

■3行目から7行目までの高さを20に設定する場合は、Range("3:7")で3行目から7行目の行の高さが20に設定します。
--------------------
Sub 範囲行高30()
ActiveSheet.Range("3:7").RowHeight = 30
End Sub
--------------------
処理結果です。なお、上記マクロ処理の結果ではセルの選択はしません。

■フォントを指定
VBAでフォントを指定するには、以下のようにFontオブジェクトを使用します。

A4セルのフォントをArialに変更する場合は・・・
--------------------
Range("A4").Font.Name = "Arial"
--------------------

A5セルのフォントサイズを16ポイントに変更する場合は・・・
--------------------
Range("A5").Font.Size = 16
--------------------