Как найти и заменить в колонтитулах (верхнем или нижнем) в Excel?
Поиск определенного значения и его замена на другое является распространенной задачей в Excel, но стандартная функция «Найти и заменить» работает только внутри выделенных диапазонов, листов и книг, но не в колонтитулах. В этой статье я представлю макрос для поиска и замены значений в верхних и нижних колонтитулах.
Поиск и замена в колонтитулах с помощью VBA
Поиск и замена в колонтитулах с помощью VBA
1. Активируйте лист, где вы хотите найти и заменить текст в верхнем или нижнем колонтитуле, нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. Нажмите Вставить > Модуль и вставьте следующий код VBA в Модуль. См. скриншот:
VBA: Поиск и замена в колонтитулах
Sub FnR_HF()
'UpdateByExtendoffice20160623
Dim xStr As String, xRep As String
'Const csTITLE As String = "Find and Replace"
On Error Resume Next
xStr = Application.InputBox("Replace what", "Kutools for Excel", , , , , 2)
If xStr = "" Then Exit Sub
xRep = Application.InputBox("With what", , "Kutools for Excel", , , , , 2)
With ActiveSheet.PageSetup
' Substitute Header/Footer values
.LeftHeader = Application.WorksheetFunction.Substitute(.LeftHeader, xStr, xRep)
.CenterHeader = Application.WorksheetFunction.Substitute(.CenterHeader, xStr, xRep)
.RightHeader = Application.WorksheetFunction.Substitute(.RightHeader, xStr, xRep)
.LeftFooter = Application.WorksheetFunction.Substitute(.LeftFooter, xStr, xRep)
.CenterFooter = Application.WorksheetFunction.Substitute(.CenterFooter, xStr, xRep)
.RightFooter = Application.WorksheetFunction.Substitute(.RightFooter, xStr, xRep)
End With
End Sub
3. Затем нажмите F5 для запуска кода, после чего появится диалоговое окно, в котором нужно ввести текст, который вы хотите найти. См. скриншот:
4. Нажмите OK, затем появится еще одно диалоговое окно, в котором нужно ввести текст, на который вы хотите заменить. См. скриншот:
5. Нажмите OK. Теперь значения “KTE” были заменены на “Kutools for Excel” в верхнем и нижнем колонтитулах.
Совет: Если вы хотите применить это ко всей книге, вы можете использовать следующий макрос.
Sub FnR_HF()
'UpdateByExtendoffice20171122
Dim I As Long
Dim xStr As String, xRep As String
'Const csTITLE As String = "Find and Replace"
On Error Resume Next
xStr = Application.InputBox("Replace what", "Kutools for Excel", , , , , 2)
If xStr = "" Then Exit Sub
xRep = Application.InputBox("With what", , "Kutools for Excel", , , , , 2)
For I = 1 To ActiveWorkbook.Sheets.Count
With Sheets(I).PageSetup
' Substitute Header/Footer values
.LeftHeader = Application.WorksheetFunction.Substitute(.LeftHeader, xStr, xRep)
.CenterHeader = Application.WorksheetFunction.Substitute(.CenterHeader, xStr, xRep)
.RightHeader = Application.WorksheetFunction.Substitute(.RightHeader, xStr, xRep)
.LeftFooter = Application.WorksheetFunction.Substitute(.LeftFooter, xStr, xRep)
.CenterFooter = Application.WorksheetFunction.Substitute(.CenterFooter, xStr, xRep)
.RightFooter = Application.WorksheetFunction.Substitute(.RightFooter, xStr, xRep)
End With
Next
End Sub
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с Kutools для Excel и ощутите новую эффективность. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Щелкните здесь, чтобы получить наиболее нужную вам функцию...
Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
- Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!