Excel VBA设置右页眉字号为20却变为409的问题排查
问题原因与解决方案
核心问题解析
- 字号参数的误解:Excel页眉页脚的格式代码中,
&n用于指定字号,这里的n是半磅值,而非直接的磅数。你要设置20磅字号,应该使用&40(20×2),而非&20。若错误使用&20,Excel会解析为10磅;若语法衔接出现歧义,甚至会触发Excel字号上限(409磅)。 - 页眉内容被完全替换:手动设置页眉字号后运行宏,原格式被覆盖成默认11磅,是因为你的宏直接替换了整个右页眉内容,且未明确指定格式时,Excel会使用默认字号。
修正后的代码
Sub tomorrow() Dim tomorrow As Date tomorrow = Date + 1 With ActiveSheet.PageSetup .DifferentFirstPageHeaderFooter = False ' &""Calibri"" 指定字体,&40 对应20磅字号(半磅值为40) .RightHeader = "&""Calibri""&40" & Format(tomorrow, "dd/mm/yyyy") End With End Sub
额外说明
- 若需添加字体样式(如加粗),可修改为
&""Calibri,Bold""&40 - 格式代码对大小写不敏感,
&40与&40效果一致 - 确保
ActiveSheet.PageSetup.ScaleWithDocHeaderFooter属性为True,避免格式失效
内容的提问来源于stack exchange,提问作者Geoff De Ross
相关产品推荐
相关产品推荐

