見出し画像

文章の先頭に対応済を赤字で追加するよ

この説明は、ChatGPTで作成しています。

このVBAコードは、選択範囲内の各セルのテキストの先頭に*「対応済_」*という文字を追加し、さらにその文字列を赤色に変更するものです。以下で、手順をわかりやすく説明します。

コードの仕組み

  1. 画面更新の停止
    `Application.ScreenUpdating = False`
    この行で画面更新を一時停止し、コード実行中に画面のチラつきを防ぎます。

  2. エラー無視の設定
    `On Error Resume Next`
    万一エラーが発生しても、途中でコードが止まらないようにしています。

  3. 変数の宣言
    `Dim myRng As Range` と `Dim myStr As String`、 `Dim i As Long`

    • `myRng`は範囲内の各セルを指すために使います。

    • `myStr`は各セルの一部の文字列を確認するために使います。

    • `i`は文字列の位置を確認するためのカウンターです。

  4. セルごとの処理
    `For Each myRng In Selection`
    この部分で、選択範囲内の各セルに順番にアクセスして処理を行います。

  5. 「対応済_」の追加
    `myRng = "対応済_" & myRng.Value`
    各セルの先頭に*「対応済_」*を追加し、もとのテキストがその後に続くようにしています。

  6. 赤字にする文字列の確認と設定
    `For i = 1 To Len(myRng)`
    各セルのテキストを1文字ずつ確認していきます。

    • `myStr = Mid(myRng.Value, i, 4)` で4文字ずつ取得し、「対応済_」が含まれる部分を探しています。

    • もし*「対応済_」が見つかると、`With myRng.Characters(Start:=i, Length:=4).Font` でその文字の色を赤色(ColorIndex = 3)*に変更します。

  7. 画面更新の再開
    `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

  1. Disabling Screen Updating
    `Application.ScreenUpdating = False`
    This line temporarily disables screen updates, preventing any screen flickering while the code is running.

  2. Ignoring Errors
    `On Error Resume Next`
    This line keeps the code from stopping if an error occurs.

  3. 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.

  4. 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.

  5. Adding "対応済_"
    `myRng = "対応済_" & myRng.Value`
    This line adds “対応済_” to the beginning of each cell, keeping the original text afterward.

  6. 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`).

  7. 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

この記事が気に入ったらサポートをしてみませんか?