我有一张工作表,我使用 Excel VBA 宏在单击按钮时使用相关信息自动填充所有工作表页眉(不是列标题)。此宏使用 wSheet.Name 填充标题标题。但是,wSheet.Name 通常包含我不想出现在标题中的前导数字、句点和空格。
请注意以下示例工作表名称:
Cover Page
1a. Test Page
1b. Sample Page
2. Another Test Page
3. Yet Another Test Page
4. Almost the Last Example Page
998. Last Example Page
我想使用正则表达式删除这些前导数字、句点和空格,但我不确定如何在 Excel 中使用 VBA 对其进行编码。我希望它尽可能灵活。这是我希望工作表名称显示方式的示例:
Cover Page
Test Page
Sample Page
Another Test Page
Yet Another Test Page
Almost the Last Example Page
Last Example Page
这是我现有的填充标题的代码:
Sub FillHeaders()
'
' Auto_Fill_Project_Name Macro
'
For Each wSheet In ActiveWorkbook.Worksheets
If wSheet.Name <> "Cover Page" Then
wSheet.PageSetup.CenterHeader = _
"&16&KFF0000" & ActiveSheet.Range("J1") & "&10&K000000 &16" & " " & _
wSheet.Name & Chr(13) & "&10 &11 Revision Date: "
End If
Next wSheet
'
End Sub
我该如何修改它以实现我的目标?
谢谢!
编辑——我采取了以下方法:
Function remleaddig(str As String)
Set regEx = CreateObject("VBScript.RegExp")
regEx.Pattern = "^\S*\."
str = regEx.Replace(str, "")
remleaddig = Trim(str)
End Function