Каждый гугл для применения одного и того же заголовка говорит выделить все листы и установить заголовок. Как я могу гарантировать, что новые листы, которые я добавляю, также получат тот же заголовок, но не всегда

2 ответа2

0

В качестве первой попытки я бы использовал это событие:

Private Sub Workbook_NewSheet(ByVal Sh As Object)
   sh.range("A1").value = "xxx"
End Sub

вам нужно будет добавить этот макрос в рабочую книгу, а не в рабочую таблицу, а не как модуль или класс.

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

0

Вот код VBA для копирования верхнего и нижнего колонтитула с первого листа на новый. Вставьте это в ThisWorkbook в VBA Explorer (Alt+F11) и сохраните его. Он запустится, когда вы добавите новый лист.

Отрегулируйте 4-ую строку, где написано « Sheet1 , чтобы она была названием вашего первого листа.

Private Sub Workbook_NewSheet(ByVal Sh As Object)
   Dim Ws As Worksheet
   'Change "Sheet1" below to the name of sheet being copied
   Set Setup = Worksheets("Sheet1").PageSetup
    With ActiveSheet.PageSetup
     .LeftHeader = Setup.LeftHeader
     .CenterHeader = Setup.CenterHeader
     .RightHeader = Setup.RightHeader
     .LeftFooter = Setup.LeftFooter
     .CenterFooter = Setup.CenterFooter
     .RightFooter = Setup.RightFooter
     End With
End Sub

Если вы хотите запустить его вручную, измените первую строку на

Sub CopyHeaderFooter()

Затем он будет отображаться как работающий макрос (Alt+F8) с именем CopyHeaderFooter вы можете выполнить, когда захотите.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .