For文が必要ですか? ループより条件付き書式がお勧めです。アプリケーションの内部でループするのでユーザーはループしなくてもいいです。 理由は次の通り、 ・コードが短くてかんたん。 ・処理が高速である、 ・データが変更や追加されても実行する必要がない。 現状の最終行の下に100行余計に設定します。該当データが増えれば色が付きます。 Sub Macro() With Range("A3", Cells(Rows.Count, 1).End(xlUp).Offset(100, 2)) .Interior.ColorIndex = xlNone With .FormatConditions .Delete With .Add(xlExpression, Formula1:="=$C3=""営業部""") .Interior.Color = RGB(190, 200, 200) 'ここを好きな色にする End With End With End With End Sub
例えば Sub test() Dim pat As String: pat = "営業部" Dim lkClm As Long: lkClm = WorksheetFunction.Match("所属", [A2:C2], 0) '3 String->"C" Dim filCol As Long: filCol = rgbDodgerBlue 'RGB(30,144,255) vbBlue,vbCyan Dim filClms As Long: filClms = WorksheetFunction.Match("所属", [A2:C2], 0) '3 Columns("C").Column String->"C" Dim i As Long For i = 3 To Cells(Rows.Count, 1).End(xlUp).Row If Cells(i, lkClm).Value = pat Then Cells(i, 1).Resize(, filClms).Interior.Color = filCol Next End Sub ただし、対象シートのモジュールに記載した場合とする
下記で できますが For I = 2 To Cells(Rows.Count, "C").End(xlUp).Row If Cells(I, "C") = "営業部" Then Cells(I, "C").Interior.ColorIndex = 6 End If Next 色を つけるのであれば 条件付書式に するべきかと このマクロだけでは 営業部から 移動しても 一度つけた色は もどらない。
< 自分のペースで、シフト自由に働ける >
パート・アルバイト(東京都)この条件の求人をもっと見る
求人の検索結果を見る
< いつもと違うしごとも見てみませんか? >
覆面調査に関する求人(東京都)この条件の求人をもっと見る