• ベストアンサー

EXCEL VBAの文

期限が来た時条件処理を変える文を教えてください。 例: 2014/1/1 がきたら、あるセルを黄色にする   

質問者が選んだベストアンサー

  • ベストアンサー
  • oka_me
  • ベストアンサー率86% (26/30)
回答No.1

If Date <= #1/1/2014# Then あるセル.Interior.ColorIndex = 3 のような記述をWorkbook_Openあたりのイベントに入れておけば出来るかと思います。。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

何度もごめんなさい。 間違いの上塗りをしていました。 すでにお判りだと思いますが、 >=TODAY()>=DATE(2013,1,1) じゃなくて >=TODAY()>=DATE(2014,1,1) です。m(_ _)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.2です! たびたびごめんなさい。 投稿後間違いに気づきました。 前回の投稿で誤記が2ヶ所あります。 条件付き書式の数式 >=TODAY()>=DATE(2043,1,1) は >=TODAY()>=DATE(2013,1,1) の間違いです。 次に >Alt+F11キー → メニュー → 挿入 → 画面左側の「This Workbook」をダブルクリック は >Alt+F11キー → 画面左側の「This Workbook」をダブルクリック です。 どうも失礼しました。m(_ _)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 条件付き書式の設定で可能だと思うのですが、 VBAでないとダメですか? 仮にSheet1のA1~A10セルを塗りつぶすとします。 Excel2007以降をお使いだとして・・・ 条件付き書式の場合 Sheet1のA1~A10セルを範囲指定 → 条件付き書式 → 新しいルール → 数式を使用して・・・ → 数式欄に =TODAY()>=DATE(2043,1,1) として → 書式 → 塗りつぶしから「黄」を選択しOK としておけば大丈夫だと思います。 (A1~A10セルに限らず範囲指定したセルに色が付きます。) どうしてもVBAでやりたい場合は Alt+F11キー → メニュー → 挿入 → 画面左側の「This Workbook」をダブルクリック → VBE画面に↓のコードをコピー&ペーストしてください。 Private Sub Workbook_Open() If Date >= DateSerial(2014, 1, 1) Then Worksheets("Sheet1").Range("A1:A10").Interior.ColorIndex = 6 End If End Sub 以上の設定ができると「名前を付けて保存」する訳ですが、 ファイルの種類は「マクロ有効ブック」で保存します。 以上で完了です。m(_ _)m

関連するQ&A