文章の先頭に対応済を赤字で追加するよ
この説明は、ChatGPTで作成しています。
このVBAコードは、選択範囲内の各セルのテキストの先頭に*「対応済_」*という文字を追加し、さらにその文字列を赤色に変更するものです。以下で、手順をわかりやすく説明します。
コードの仕組み
画面更新の停止
`Application.ScreenUpdating = False`
この行で画面更新を一時停止し、コード実行中に画面のチラつきを防ぎます。エラー無視の設定
`On Error Resume Next`
万一エラーが発生しても、途中でコードが止まらないようにしています。変数の宣言
`Dim myRng As Range` と `Dim myStr As String`、 `Dim i As Long``myRng`は範囲内の各セルを指すために使います。
`myStr`は各セルの一部の文字列を確認するために使います。
`i`は文字列の位置を確認するためのカウンターです。
セルごとの処理
`For Each myRng In Selection`
この部分で、選択範囲内の各セルに順番にアクセスして処理を行います。「対応済_」の追加
`myRng = "対応済_" & myRng.Value`
各セルの先頭に*「対応済_」*を追加し、もとのテキストがその後に続くようにしています。赤字にする文字列の確認と設定
`For i = 1 To Len(myRng)`
各セルのテキストを1文字ずつ確認していきます。`myStr = Mid(myRng.Value, i, 4)` で4文字ずつ取得し、「対応済_」が含まれる部分を探しています。
もし*「対応済_」が見つかると、`With myRng.Characters(Start:=i, Length:=4).Font` でその文字の色を赤色(ColorIndex = 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, 4)
'_済みがあったら書式変更
If myStr Like "対応済_" Then
With myRng.Characters(Start:=i, Length:=4).Font
.ColorIndex = 3
End With
End If
Next i
Next myRng
Application.ScreenUpdating = True
End Sub
ハッシュタグ
#excel #できること #vba #赤字 #フォント変更 #テキスト追加 #選択範囲 #セル #文字色 #文字列処理 #画面更新 #エラー処理 #プログラミング初心者 #コード解説 #エクセル #自動化 #効率化 #ビジネススキル #先頭追加 #文字列結合
英語での説明
Add "対応済" in Red at the Start of Text
This explanation is created using ChatGPT.
This VBA code adds the text “対応済_” at the beginning of each cell in a selected range and changes this added text to a red color. Below is an easy-to-follow explanation of each step.
How the Code Works
Disabling Screen Updating
`Application.ScreenUpdating = False`
This line temporarily disables screen updates, preventing any screen flickering while the code is running.Ignoring Errors
`On Error Resume Next`
This line keeps the code from stopping if an error occurs.Declaring Variables
`myRng` will be used for each cell in the selected range.
`myStr` will check a portion of each cell’s text.
`i` will be a counter for checking positions in each string.
Looping Through Each Cell in the Range
`For Each myRng In Selection`
This line allows the code to access each cell in the selected range, one at a time.Adding "対応済_"
`myRng = "対応済_" & myRng.Value`
This line adds “対応済_” to the beginning of each cell, keeping the original text afterward.Locating and Setting the Red Font Color
`For i = 1 To Len(myRng)`
This part checks each cell’s text, character by character.`myStr = Mid(myRng.Value, i, 4)` takes each group of four characters to look for “対応済_.”
If this text is found, `With myRng.Characters(Start:=i, Length:=4).Font` changes that section’s font color to red (`ColorIndex = 3`).
Re-enabling Screen Updates
`Application.ScreenUpdating = True`
This re-enables screen updates, displaying the final changes.
This completes the process for adding the text “対応済_” in red at the start of each cell within the selected range.
Tags
#excel #possibilities #vba #redtext #fontchange #textaddition #selectedrange #cell #textcolor #textprocessing #screenupdating #errorhandling #beginnercoding #codeexplanation #excel #automation #efficiency #businessskills #textprefix #stringconcatenation
この記事が気に入ったらサポートをしてみませんか?