VBAで指定範囲内の文字サイズを指定する

fontsize VBA

せっかく作ったのに意図しない文字サイズ変更をされて、印刷レイアウトがぐちゃぐちゃになった経験ありませんか?

作業時間効率化の為にExcel-VBAのユーザーフォームで設定した印刷ボタンには、印刷のレイアウトまで考えて文字サイズを指定していたのに意味をなさなくなってしまいますよね。

そこで印刷ボタンに文字サイズを指定するVBAコードを書き加えて解決しましょう。

スポンサーリンク

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

文字や数字などのデータが入力されていても空白でも関係なく、セルの文字サイズをExcel-VBAを使って変更することができます。

使用するVBAコードは、FontオブジェクトのSizeプロパティでポイント単位で文字サイズを変更します。

VBAで指定した特定のセルだけ文字サイズ指定

エクセルで作るお礼状
エクセルで作るありがちなお礼状

上記画像ではワークシート上の文字サイズは、エクセルの初期設定のままの11になっています。

「〇×株式会社」と入力されている【セルH4】の1か所だけ文字サイズを16に変更してみましょう。

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

VBAコード

Private Sub CommandButton1_Click()
Range(“H4”).Font.Size = 16
End Sub

解説
  1. コマンドボタン1がクリックされたら
  2. セルH4の文字サイズを16ポイントに設定する
  3. マクロ記録終了
VBAお礼状文字サイズ
文字サイズが16になった

とても簡単にVBAコードで文字サイズは変更可能なので、次は特定のセルの範囲の文字サイズを指定してみましょう。

VBAで指定した範囲の文字サイズ指定

文字や数字などのデータ入力済みセルや空白セルも含め、指定した範囲内のセルの文字サイズを全て変更します。

VBAコード

Private Sub CommandButton1_Click()
Range(“A1:H15”).Font.Size = 16
End Sub

解説
  1. コマンドボタン1がクリックされたら
  2. セルA1~H15の範囲全ての文字サイズを16ポイントに設定する
  3. マクロ記録終了
範囲の文字の大きさ
このようにはみ出たらだめですけどね

指定した範囲のセルの文字サイズが変更できました。

上記画像のように文章がはみ出てしまっては意味が無いので、文字サイズは印刷などを確認したうえで設定して下さいね。

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

文字サイズの応用で、入力済み行数を自動的に読み取って文字の大きさも自動的に用紙サイズに合わせて拡大縮小させることも試してみませんか?

参考までに、ユーザーフォームに配置した印刷ボタンに文字サイズ指定を追加するならば、VBAコードの最初に記入が必要です。

印刷実行コードの後にVBAコードを書いても無駄ですよ!順番が重要なので、Select Case TextBox1のVBAコードの前に1行入れればOKです!

スポンサーリンク

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

みんなが疑問に思ってたりで良く調べられているセル関連のVBAコードで、今週よく見られている5つのページなので、参考になれば幸いです。

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