行の高さと列の幅の標準サイズとは
ブックを新規作成したときの各セルの高さと幅は全て同じサイズで等間隔になっています。
これはワークシートの既定値である標準サイズで初期設定されるためです。
標準サイズはセルではなくワークシートのプロパティになります。
構文
1 2 |
Sheetオブジェクト.StandardHeight '// 標準の高さ Sheetオブジェクト.StandardWidth '// 標準の幅 |
SheetオブジェクトはActiveSheetやSheets(1)などを設定します。
StandardHeightプロパティは標準の行の高さをポイント単位で表し、StandardWidthプロパティは標準の列の幅を文字幅で表します。
行の高さを表すポイントは、1ポイントが1/72インチで約0.35ミリです。100ポイントであれば3.5cmになります。
列の幅を表す文字幅は、標準フォントの1文字分の幅が1になります。プロポーショナルフォントの場合は半角数字の0の幅を1とします。
どちらのプロパティもDouble型の値を返却します。
StandardHeightプロパティの注意点
StandardHeightプロパティには1つ注意点があります。
セルは各セルごとにフォントの種類とサイズを変更することが出来ます。
その際に、結合セルではない通常のセルであれば、フォントのサイズを変更して文字を入力すると、その文字サイズに合わせてセルの高さが自動的に拡張されます。
ところがStandardHeightプロパティは個別のセルのフォントの種類や高さを考慮しないため、その点を考えずに無条件でセルの高さにStandardHeightプロパティの値を設定すると、フォントサイズが標準サイズより大きいセルの場合、セル内の文字が切れて表示されることになります。
そのため、StandardHeightプロパティを適用する前に、対象セル範囲のフォントの種類とサイズを確認した方がよいでしょう。
サンプルコード
以下のサンプルは行の高さと列の幅にそれぞれ10を設定して、その後標準サイズを設定して、設定後の行の高さと列の幅を出力しています。
1 2 3 4 5 6 7 8 9 10 11 12 |
Sub UseStandardSizeTest() '// 行と列にそれぞれ10を設定 Range("A1:B2").RowHeight = 10 Range("A1:B2").ColumnWidth = 10 '// 行と列を標準サイズに設定 Range("A1:B2").RowHeight = ActiveSheet.StandardHeight Range("A1:B2").ColumnWidth = ActiveSheet.StandardWidth Debug.Print Range("A1:B2").RowHeight Debug.Print Range("A1:B2").ColumnWidth End Sub |
実行結果
12.75
8.43