文章の先頭に済みを赤字で追加するよ
この説明は、ChatGPTで作成しています。
このVBAマクロは、Excelのセルに入力されている文字列の先頭に「済み_」という文字を追加し、その部分を赤色にするためのものです。たとえば、セルに「作業中」という文字が入っていると、このマクロを実行すると「済み_作業中」に変わり、「済み_」の部分が赤字になります。
動きの流れ
画面更新を停止:
`Application.ScreenUpdating = False`でマクロの処理中に画面がチカチカしないように、一時的に画面の更新を停止しています。選択範囲の取得:
`For Each myRng In Selection`で、選択しているセル範囲を1つずつ処理していきます。今、選択しているセルが対象になります。「済み_」を追加:
`myRng = "済み_" & myRng.Value`で、それぞれのセルの先頭に「済み_」を追加しています。赤字にする部分を探す:
`For i = 1 To Len(myRng)`でセルの中の文字を1文字ずつ確認し、「済み_」があった場合に赤字にする準備をしています。「済み_」を赤字に変更:
`If myStr Like "済み_" Then`の部分で「済み_」という文字列を見つけたら、その3文字の色を赤色に変更しています。色を指定するために`.ColorIndex = 3`を使っています。この「3」が赤色を表します。画面更新の再開:
最後に、`Application.ScreenUpdating = True`で、画面の更新を再開します。
注意点
このマクロは、現在選択しているセル範囲に対してのみ動作します。
すでに「済み_」が付いている文字列には再度「済み_」を追加してしまうので注意が必要です。
参考リンク
Sub 文章の先頭に済みを赤字で追加するよ()
Application.ScreenUpdating = False
On Error Resume Next
Dim myRng As Range
Dim myStr As String
Dim i As Long
For Each myRng In Selection
myRng = "済み_" & myRng.Value
For i = 1 To Len(myRng)
myStr = Mid(myRng.Value, i, 3)
'_済みがあったら書式変更
If myStr Like "済み_" Then
With myRng.Characters(Start:=i, Length:=3).Font
.ColorIndex = 3
End With
End If
Next i
Next myRng
Application.ScreenUpdating = True
End Sub
キーワード
#excel #できること #vba #文字列操作 #色変更 #セル操作 #マクロ #先頭文字列追加 #テキスト加工 #セル範囲 #エクセル自動化 #プロシージャ #条件付き書式 #カラーインデックス #画面更新 #エラーハンドリング #データ処理 #フォント変更 #ユーザーフレンドリー #初心者向け
Add "済み" in Red at the Beginning of the Text
This explanation was created with ChatGPT.
This VBA macro is designed to add the text "済み_" to the beginning of each cell's value within the selected range in Excel and change this added text to red. For example, if a cell contains "In Progress," running this macro will turn it into "済み_In Progress," with the "済み_" part colored in red.
How it works
Disable Screen Updating:
`Application.ScreenUpdating = False` stops screen updates to prevent flickering while the macro runs.Process Each Cell in Selection:
`For Each myRng In Selection` loops through each cell in the currently selected range.Add "済み_" to the Start:
`myRng = "済み_" & myRng.Value` adds "済み_" to the start of each cell's text.Identify Text to Color Red:
`For i = 1 To Len(myRng)` loops through each character in the cell, looking for the "済み_" string.Change Text Color to Red:
When it finds "済み_", `If myStr Like "済み_" Then` changes those 3 characters to red using `.ColorIndex = 3` (where 3 represents red).Re-enable Screen Updating:
Finally, `Application.ScreenUpdating = True` turns screen updating back on.
Important Points
This macro operates only on the currently selected cells.
Be cautious if "済み_" is already present, as it will add it again.
Reference Links
Keywords
#excel #howto #vba #textprocessing #changecolor #celloperation #macro #prefixaddition #textmanipulation #cellrange #excelautomation #procedure #conditionalformatting #colorindex #screenupdating #errorhandling #dataprocessing #fontchange #userfriendly #beginnerfriendly
この記事が気に入ったらサポートをしてみませんか?