質問: c + 1 loop end sub
回答: こんばんは。 まず。 そもそもの「算数」の問題ですが、「以上」とは「等しいか又は大きい」、「以下」とは「等しいか又は小さい」という意味です。 「今日以上」が赤で「今日以下」が青では、今日はいったいどちらでしょう。 次に。 問題の6行目には、一体全体「具体的に何が入ってくる」可能性があるのでしょう。 マクロ以前にエクセルの基本として、「今日より大きい」のは何も日付ばかりではありません。たとえば「履歴なし」といった文字列も、今日という数値よりも必ず「大きい」と判定されます。 #言い換えると 具体的に「どんなデータが入ってるセル」で、意図したのと違う結果が現れて「思うようにならない」のか、目に見える「どうなっている」の情報が適切に説明されていません。 作成例: sub macro1() dim c as long dim res as variant for c = 5 to cells(6, columns.count).end(xltoleft).column if isdate(cells(6, c)) then if cells(6, c) < date then res = 8 else res = 3 end if else res = xlnone end if cells(6, c).interior.colorindex = res next c end sub