Я пытаюсь сделать простой макрос, чтобы изменить дату, отображаемую в правом заголовке, на дату «завтра». Когда я пытаюсь установить формат по умолчанию для верхних и нижних колонтитулов на 20, а затем запускаю макрос, Excel меняет размер шрифта на 11. Но когда я указываю в коде VBA изменение на 20, Excel увеличивает размер шрифта до 409! Текущий сценарий, который я использую, выглядит следующим образом:
Sub tomorrow()
Dim today As Date
Dim tomorrow As Date
today = Date
tomorrow = Date + 1
With ActiveSheet.PageSetup
.DifferentFirstPageHeaderFooter = False
.RightHeader = "&""Calibri""&20" & Format(tomorrow, "dd/mm/yyyy")
End With
End Sub
Может ли кто-нибудь заметить, где я ошибаюсь? Мне просто нужно, чтобы размер шрифта был 20, это кажется таким простым, но я в тупике... Заранее спасибо!


"&""Calibri""&20" & Format(tomorrow, "dd/mm/yyyy") эволюционирует в &"Calibri"&2020.04.2020 (конечно, в зависимости от текущей даты). В результате размер шрифта будет читаться как 2020, а поскольку максимальный размер шрифта в Excel составляет 409, вы получите его как размер шрифта вашего заголовка.
Чтобы день не был связан непосредственно с размером шрифта, вы должны просто добавить пробел — это не повредит, так как правый заголовок в любом случае выровнен по правому краю (именно это делает Excel, если вы устанавливаете заголовок вручную).
RightHeader = "&""Calibri""&20 " & Format(tomorrow, "dd/mm/yyyy")
Идеально, большое спасибо! Я знал, что есть какая-то хитрая маленькая деталь, которую я упускаю из виду.
Добавьте пробел после 20, чтобы к нему не добавлялся номер дня.