ワードマクロで、特定の文字を蛍光ペンで着色するVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください😉
特定文字を蛍光ペンで着色(変数使用)
以下のWordVBAを実行すると、対象文字を蛍光ペンで着色します。
Sub 蛍光ペンで着色1()
Dim Target As String
'対象文字を格納
Target = "会員"
With Selection.Find
'置換後の文字列の蛍光ペンをオン
.Replacement.Highlight = True
'蛍光ペンの色を黄色に指定
Options.DefaultHighlightColorIndex = wdYellow
.Text = Target
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
'蛍光ペンで着色を実行
.Execute Replace:=wdReplaceAll
End With
End Sub
マクロ実行前
ファイル内の「会員」という文字を、蛍光ペンで着色する前
マクロ実行後
[Target] に格納した文字「会員」を、蛍光ペンで着色します。
VBAコードの解説
[Target = “会員”] は、
蛍光ペンで着色したい文字を[Target]に格納します。
今回は、文字列を格納することを想定しているため [Target] は [String] 型にしています。
[.Replacement.Highlight = True] は、
置換後の文字列の蛍光ペンをオンに設定します。
このコードを記述していない場合、[Target]に格納した文字が空欄で置換されて消えてしまい、
蛍光ペンもつかない場合があるので、必ず入れます。
[Options.DefaultHighlightColorIndex = wdYellow] は、
蛍光ペンの色を黄色に指定します。
今回は黄色に指定していますが、違う色にも設定可能です。
特定文字を蛍光ペンで着色(配列使用)
以下のWordVBAを実行すると、複数文字を蛍光ペンで着色します。
Sub 蛍光ペンで着色()
Dim Target As Variant
Dim i As Long
'対象文字を格納
Target = Array("会員", "一般", "ゴールド")
For i = 0 To 2
With Selection.Find
'置換後の文字列の蛍光ペンをオン
.Replacement.Highlight = True
'蛍光ペンの色を黄色に指定
Options.DefaultHighlightColorIndex = wdYellow
.Text = Target(i)
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
'蛍光ペンで着色を実行
.Execute Replace:=wdReplaceAll
End With
Next i
End Sub
マクロ実行前
蛍光ペンで着色する前
マクロ実行後
[Target] に格納した複数文字を、蛍光ペンで着色します。
特定文字を蛍光ペンで着色(ダイヤログボックス使用)
以下のWordVBAを実行すると、ダイヤログボックスに入力した文字を蛍光ペンで着色します。
Sub 蛍光ペンで着色2()
Dim GetKW As String
Dim InputKW As String
InputKW = "文字を入力してください"
'ダイヤログボックスに対象文字を入力
GetKW = InputBox(InputKW)
If GetKW = "" Then
Exit Sub
Else
'蛍光ペンの色を黄色に指定
Options.DefaultHighlightColorIndex = wdYellow
'蛍光ペンで着色する文字の条件を指定
With Selection.Find
'置換語の文字列の蛍光ペンをオン
.Replacement.Highlight = True
.Text = GetKW
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
'蛍光ペンで着色を実行
.Execute Replace:=wdReplaceAll
End With
End If
End Sub
マクロ実行前
マクロ実行後
ダイヤログボックスが表示されるので、蛍光ペンをつけたい文字を手入力し、
「OK」をクリックします。
ダイヤログボックスに入力した「ゴールド」を蛍光ペンで着色します。
VBAコードの解説
ダイヤログボックスに何も入力しなかった場合は、
「If GetKW = “” Then」の IF判定は [False] になり、
[Exit Sub] でサブプロシージャを終了します。
特定文字を蛍光ペンで着色(SelectCase使用)
ダイヤログボックスに入力した文字を、指定した蛍光ペンの色で着色します。
Sub 蛍光ペンで着色3()
Dim GetKW As String
Dim InputKW As String
InputKW = "文字を入力してください"
'文字を入力するダイヤログボックスを表示
GetKW = InputBox(InputKW)
If GetKW = "" Then
Exit Sub
Else
With Options
Select Case GetKW
Case "ゴールド"
'蛍光ペンの色を赤色に指定
.DefaultHighlightColorIndex = wdRed
Case "一般"
'蛍光ペンの色を青色に指定
.DefaultHighlightColorIndex = wdTurquoise
Case Else
'蛍光ペンの色を黄色に指定
.DefaultHighlightColorIndex = wdYellow
End Select
End With
'蛍光ペンで着色する文字の条件を指定
With Selection.Find
'置換語の文字列の蛍光ペンをオン
.Replacement.Highlight = True
.Text = GetKW
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
'蛍光ペンで着色を実行
.Execute Replace:=wdReplaceAll
End With
End If
End Sub
マクロ実行前
マクロ実行後
ダイヤログボックスに入力した文字によって、蛍光ペンの色を変えています。
すでに違う色の蛍光ペンが塗られている場合は、マクロで指定した色に塗り替えられます。
VBAコードの解説
[Select Case GetKW]~[End Select] は、
ダイヤログボックスに入力した文字を、以下のように着色します。
・「ゴールド」の場合は赤色
・「一般」の場合は青色
・それ以外の場合は黄色
「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説