VBAで範囲内の行の高さと列の幅を指定する

行の高さと列の幅を指定 VBA

エクセルで作った表やリストを印刷する時に、行の高さや列の幅などの体裁を整えて見栄えとバランスよく印刷したいと思いませんか?

ワークシート上の行や列の上でマウスを右クリックすれば調整できますが、Excel-VBAを使って設定できるので覚えておくと条件によって自動調整も可能になるので、基本を押さえておきましょう。

スポンサーリンク

Rangeオブジェクトで強制指定する

行の高さを指定する

行の高さを指定するにはRowHightプロパティを使用し、複数行をまとめて設定することができるので範囲を指定し、単位はポイントです。

いつものように、ユーザーフォームに配置したコマンドボタンを押した時にVBAコードが働くようにしています。

VBAコード

Private Sub CommandButton1_Click()
Range(“3:30”).RowHeight = 40
End Sub

解説
  1. コマンドボタン1がクリックされたら
  2. 3行目~30行目までの行の高さを40ポイントに指定する
  3. マクロ記録終了

本来はRangeオブジェクトを使用する時は()内はセル番地(”A3:A30″)と記載しなくてはいけないのですが、(”3:30″)でも(”A3:G30″)でも同じようにVBAが働いてくれます。

列の幅を指定する

列の幅を指定するにはColumnWidthプロパティを使用し、複数列をまとめて設定することができるので範囲を指定し、単位は文字数と説明書きはよくされていますが、日本語の全角文字でも半角英数のアルファベット大文字でもありません。

半角英数の数字またはアルファベットの小文字が基準になっているので、日本語の場合は半分の10文字が目安ですよ。

VBAコード

Private Sub CommandButton1_Click()
Range(“1:10”).ColumnWidth = 30
End Sub

解説
  1. コマンドボタン1がクリックされたら
  2. 1列目~10列目までの列の幅を30文字(全角15文字)とする
  3. マクロ記録終了

列の幅も行の高さと同じようにRangeオブジェクトに対して数字だけでも問題なくVBAが働いてくれました。

とりっぷぼうる
とりっぷぼうる

行の高さや列の幅がこれにより自由に設定できるようになり、セルの大きさが変わるのでついでに文字のサイズも設定すれば、見栄え良くなりますよ。

スポンサーリンク

セルの操作関連の参考VBA集

エクセルVBAで自動的に連番をつける方法
入力済みのセルの最終行の下に新しく入力する方法
VBAで条件により文字色や背景色をまとめて変える
空白セルに0を選択範囲まとめて入力
エラー回避して範囲内の空白セルを見つけたら上方向に詰める