ボタンをクリックすると、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