見出し画像

固定残業とみなし残業があったらそれだけ赤色にするよ

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

このプロシージャは、Excelシートの選択範囲内のセルに含まれる「固定残業」や「みなし残業」という文字列を赤色に変更するものです。

  1. 画面更新を停止: プロシージャの実行中に画面がちらつかないようにするため、最初に `Application.ScreenUpdating = False` を設定します。

  2. 変数の宣言:

    • `myRng`: 選択範囲の各セルを処理するための変数。

    • `myStr`: 各セル内の文字列の一部を取得するための変数。

    • `i`, `kwLength`: ループのカウンタとキーワードの長さを保持するための変数。

    • `kws`, `kw`: 赤色に変更する対象のキーワードを格納する配列とその要素を保持する変数。

  3. 対象キーワードの配列: `kws = Array("固定残業", "みなし残業")` で、「固定残業」と「みなし残業」を配列に格納します。

  4. セルごとの処理:

    • `For Each myRng In Selection` で選択範囲内の各セルを処理します。

    • `For Each kw In kws` で各キーワードに対して処理を行います。

    • `kwLength = Len(kw)` でキーワードの長さを取得します。

    • `For i = 1 To Len(myRng)` でセル内の文字列を一文字ずつ調べます。

    • `myStr = Mid(myRng.Value, i, kwLength)` で現在位置からキーワードの長さ分の文字列を取得します。

    • `If myStr Like kw Then` でキーワードと一致する場合、その部分の文字色を赤色に変更します。

  5. 画面更新の再開: 最後に `Application.ScreenUpdating = True` で画面更新を再開します。

このプロシージャを実行すると、選択範囲内のセルで「固定残業」または「みなし残業」という文字列が見つかれば、その文字列が赤色に変わります。


Make Fixed Overtime and Deemed Overtime Red If Present

This explanation is created by ChatGPT.

This procedure changes the text "固定残業" (fixed overtime) and "みなし残業" (deemed overtime) to red within the selected range of an Excel sheet.

  1. Disable Screen Updating: To prevent screen flicker during the execution of the procedure, `Application.ScreenUpdating = False` is set at the beginning.

  2. Variable Declaration:

    • `myRng`: A variable to process each cell in the selected range.

    • `myStr`: A variable to get a part of the string in each cell.

    • `i`, `kwLength`: Variables to hold the loop counter and the length of the keyword.

    • `kws`, `kw`: An array to store the keywords to be changed to red and a variable to hold each element.

  3. Keywords Array: `kws = Array("固定残業", "みなし残業")` stores "固定残業" and "みなし残業" in an array.

  4. Processing Each Cell:

    • `For Each myRng In Selection` processes each cell in the selected range.

    • `For Each kw In kws` processes each keyword.

    • `kwLength = Len(kw)` gets the length of the keyword.

    • `For i = 1 To Len(myRng)` examines the string in the cell character by character.

    • `myStr = Mid(myRng.Value, i, kwLength)` gets the substring of the length of the keyword from the current position.

    • `If myStr Like kw Then` changes the font color of the substring to red if it matches the keyword.

  5. Re-enable Screen Updating: Finally, `Application.ScreenUpdating = True` re-enables screen updating.

When this procedure is run, any occurrence of "固定残業" or "みなし残業" in the selected cells will be changed to red.


ハッシュタグ:
#excel #vba #できること #固定残業 #みなし残業 #赤色変更 #セルフォーマット #文字列検索 #キーワード検出 #配列操作 #範囲選択 #Excelマクロ #フォントカラー #自動化 #効率化 #スクリプト #プログラミング初心者 #オフィスソフト #マイクロソフトエクセル #ビジネスツール

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