教えて!しごとの先生
教えて!しごとの先生
  • 回答終了

Excel マクロ マクロのfor文を使って下のようにセルに色をつけたい。どのようにすれば良いのでしょうか。 色は…

Excel マクロ マクロのfor文を使って下のようにセルに色をつけたい。どのようにすれば良いのでしょうか。 色は青。

74閲覧

回答(3件)

  • 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 色を つけるのであれば 条件付書式に するべきかと このマクロだけでは 営業部から 移動しても 一度つけた色は もどらない。

    続きを読む

< 自分のペースで、シフト自由に働ける >

パート・アルバイト(東京都)

この条件の求人をもっと見る

< 平日勤務で週末はリフレッシュしたい人におすすめ >

正社員×土日祝休み(東京都)

求人の検索結果を見る

もっと見る

この質問と関連する質問

    < いつもと違うしごとも見てみませんか? >

    覆面調査に関する求人(東京都)

    この条件の求人をもっと見る

    Q&A閲覧数ランキング

    カテゴリ: 資格、習い事

    転職エージェント求人数ランキング

    • 1

      続きを見る

    • 2

      続きを見る

    • 3

      続きを見る

    あわせて読みたい
    スタンバイプラスロゴ

    他の質問を探す

    答えが見つからない場合は、質問してみよう!

    Yahoo!知恵袋で質問をする

    ※Yahoo! JAPAN IDが必要です

    スタンバイ アプリでカンタン あなたにあった仕事見つかる