6.6 行の高さ、列の幅を変更する
行の高さや列の幅を設定するときの方法です。行の高さを設定するときは???.RowHeightプロパティ、列の高さを設定するときは???.ColumnWidthプロパティを使います。

ちなみに、???の部分は、お馴染みのRangeColumnsRowsCellsSelectionなどのセルや行列を指定するオブジェクトです。詳しくは、5.1 セルや行列を扱うための基本をどうぞ。
列の幅の設定例
???.ColumnWidthの使い方です。例では、列Aの幅を25に、列C〜Eの幅を20に設定しています。

Sub prcColumnWidth()

    '列Aの幅を25に設定します
    Columns("A:A").ColumnWidth = 25

    '列C(3)〜E(5)の幅を20に設定します
    Range(Columns(3),Columns(5)).ColumnWidth = 20

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです
行の高さの設定例
???.RowHeightの使い方です。例では、10行目の高さを15に、15〜18行目の高さを10に設定しています。

Sub prcRowHeight()

    '10行目の高さを15に設定します
    Rows(10).RowHeight = 15

    '15〜18行目の高さを10に設定します
    Range(Rows(15),Columns(18)).RowHeight = 10

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです
全ての行の高さ、列の幅を変えたいとき
ところで、最初に列には幅(???.ColumnWidth)、行には高さ(???.RowHeight)と言いましたが、実は逆の指定もできるんですょ(´Д`;

例えば、次のように列に対して高さ(???.RowHeight)の指定をすると、1〜65535行までワークシート全体の行の高さを一括して設定できます。この場合の列指定は、どの列でもOKです。

Sub prcRowHeight2

    '全ての行の高さを15に設定します
    Columns(1).RowHeight=15

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです

また、次のように行に対して幅(ColumnWidth)の指定をすると、列A〜IVまでワークシート全体の列の幅を一括して設定できます。この場合の行指定は、どの行でもOKです。

Sub prcColumnWidth2

    '全ての列の幅を10に設定します
    Rows(1).ColumnWidth=10

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです
余談(行や列の単位)
余談ですが、列幅や行高さの単位は何でしょう・・・意外と知られていないんですよ、これが。

幅は、標準フォント(エクセルのココで設定するフォント)で何文字分の幅があるかって値です。なので、標準フォントの大きさを変えると、幅へ指定する値なども変わります。

高さはポイントです。
Copyright(C) 1999-2006 結城圭介。 All rights reserved