Каждый гугл для применения одного и того же заголовка говорит выделить все листы и установить заголовок. Как я могу гарантировать, что новые листы, которые я добавляю, также получат тот же заголовок, не всегда
Каждый гугл для применения одного и того же заголовка говорит выделить все листы и установить заголовок. Как я могу гарантировать, что новые листы, которые я добавляю, также получат тот же заголовок, не всегда
В качестве первой попытки я бы использовал это событие:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
sh.range("A1").value = "xxx"
End Sub
вам нужно будет добавить этот макрос в рабочую книгу, а не в рабочую таблицу, а не как модуль или класс.
Другим способом может быть использование надстройки, разработанной для этого - это было бы для того, чтобы такое поведение было в каждой книге.
Вот код 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
вы можете выполнить, когда захотите.