ヘッダー、フッターの文字のサイズを指定する

VBAでヘッダーやフッターの文字列を変更した場合、特に指定しない限り文字の書式はスタイルで設定されているものが適用されます。ここではそのサイズを指定します。

Public Const strLeftHeader1 = "受注集計表"
Public Const strLeftHeader2 = "2000年度 受注集計表"

Sub 左ヘッダーの文字のサイズを指定する_1()
  ActiveSheet.PageSetup.LeftHeader = "&12" & strLeftHeader1
End Sub

Sub 左ヘッダーの文字のサイズを指定する_2()                ' うまく実行できません
  ActiveSheet.PageSetup.LeftHeader = "&12" & strLeftHeader2
End Sub

Sub 左ヘッダーの文字のサイズを指定する_3()
  ActiveSheet.PageSetup.LeftHeader = "&12 " & strLeftHeader2
End Sub

1番目のプロシージャと同様に文字列を変えて2番目のプロシージャを実行すると、文字のサイズが極端に大きくなります。これは strLeftHeader の1番目の文字(それ以降も有効)が半角数字の場合、これも文字サイズを指定する数値の一部だと判断され、サイズが122000(12 & 2000)となる為です。実際にはEXCELにおける上限があるのでこのように膨大にはなり得ませんが、用紙一杯になります。これを回避するには3番目のプロシージャのように文字列のサイズの後尾にスペースを入力するか、strLeftHeader2 の一番目の文字を全角の数字にするしかないようです。