Код ошибки VBA Runtime «1004» при форматировании нижнего колонтитула / заголовка страницы - решено - PullRequest
2 голосов
/ 25 апреля 2020

Когда я запускаю код VBA для настройки и форматирования нижнего колонтитула для страницы Excel, я получаю 1004 Runtime error - «Невозможно установить свойство CenterFooter класса PageSetup». Код ниже:

With Sheets("Letter").PageSetup
        .LeftFooter = "&""Arial,Regular""&6" & Sheets("Footer").Range("A1")
        .CenterFooter = "&""Arial,Regular""&6" & Sheets("Footer").Range("E2")
        .LeftHeader = "&""Arial,Regular""&8" & Sheets("Footer").Range("I5")
End With

Код относится к указанным ячейкам c в именованной электронной таблице «Нижний колонтитул» для выбора текста для левого и центрального нижних колонтитулов, а также для левого верхнего колонтитула. страницы.

Когда я запускаю код, он поднимает левый нижний колонтитул, но в строке .CenterFooter появляется окно с ошибкой. Если я прокомментирую эту строку, LeftFooter и LeftHeader работают отлично.

Я также отметил, что, если я упросту код, исключая часть форматирования, как показано ниже, он прекрасно работает:

With Sheets("Letter").PageSetup
        .LeftFooter = Sheets("Footer").Range("A1")
        .CenterFooter = Sheets("Footer").Range("E2")
        .LeftHeader = Sheets("Footer").Range("I5")
End With

Я относительно новичок в кодировании VBA, поэтому буду признателен, если вы ответ будет легко понять.

Очевидно, проблема заключалась в длине текста в ячейках, которые я пытался связать с нижним колонтитулом страницы. Если длина текста и форматирующего текста вместе превышает 256 символов, появится сообщение об ошибке. Чтобы избежать этой проблемы, старайтесь держать нижний колонтитул и текст заголовка короче.

...