• ベストアンサー

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

  • エクセル教えてください!

    一定の条件を満たした場合、セルが黄色になるように条件付き書式で設定しています。 ここで質問なのですが、、、 そのセルが黄色になった場合に、関連したデータが入力されている他のセルも自動的に黄色になるようにしたいのですが可能ですか? 例) 1、2、3 … 7と入力されたセル   【条件付き書式で条件を満たすと「5」のセルが黄色になる】   「5」と入力されたセルが黄色になった場合に、   他のセルに入力されている、月、火、水 … 日と入力された   セルのうち、「金」のセルが自動的に黄色になる。  ↑簡単に説明するとこのようなことがしたいのです。 どなたか教えてください!お願いします。

  • エクセルのVBAを使った条件付き書式

    VBAの初心者です。というか使ったことがありません。 4つ以上の条件付き書式はVBAが必要になるようなので困惑中です。 下記の条件付き書式をVBA作りたいと思っています。 「1」を含む値の場合セルの背景を黄色に 「2」を含む値の場合セルの背景を緑色に 「3」を含む値の場合セルの背景を水色に 「4」を含む値の場合セルの背景を赤色に 例) 1北海道 → セルの背景を黄色 2山形 → セルの背景を緑 これを実現するVBAのコードを教えてください。 また、そのコードをどこに貼付ければいいのでしょうか? まったくの初心者で申し訳ありません。

  • エクセル VBA ある条件でセルに色をつけたいのですが、

    エクセル VBA ある条件でセルに色をつけたいのですが、 例えば、A2からA50に文字列が入っていて、ある処理を終えると、空白を除くセルに薄い水色(33)をつけます。ここまでは、VBAで作成できました。 次に、空白を除くセルが、すべて薄い水色になったら、A1を薄い黄(36)にしたいのです。 教えてください。よろしくお願いします。

  • エクセルのIF文

    IF文が簡単なものしか分からないレベルの者です。 以下の条件においてIF文を作成する場合、どのようにしたら良いでしょうか? 御教示願います。なおエクセルのバージョンはエクセル2000です。 (1)A~C列の十数行のセルには文字が並んでいる(たとえばAXY12341,FAC236等)。 (2)あるセル内(A~C列以外のセル)に入力した文字が、A列のセルにある文字と同じものがあれば、 あるセルの色は赤色になる。 (3)あるセル内(A~C列以外のセル)に入力した文字が、B列のセルにある文字と同じものがあれば、 あるセルの色は青色になる。 (4)あるセル内(A~C列以外のセル)に入力した文字が、C列のセルにある文字と同じものがあれば、あるセルの色は黄色になる。

  • EXCELで条件付書式を使いたいが

    またまた質問させていただきます。 条件付書式を使ってセルの色を変えようとしたのですが、条件が6条件有り出来ませんでした。 やりたいことは、C5~AJ54の範囲のセルに下記の文字が入ったとき、そのセルの色を変えたいのです。 入力  セル色 赤外---黄色 青外---黄色 赤中---緑色 青中---緑色 赤内---青色 青内---青色 といったことがしたいのです。 VBAを使ってセルを塗りつぶす例などを調べてやってみましたが、勉強不足で旨くいきませんでした。 どうか、宜しくお願いします。

  • エクセルVBAでのfor文

    エクセルVBAのfor文についての質問です A列のセルに抽出したタイトルが貼り付けられている状態で、そのA列のセルの名前で新規シートを作りたいのですが ・抽出される数が条件によって違うので、A列のセルの数が固定ではない ・1つの名前につき1つの新規シートの作成で、重複して作らない 重複してしまうとシート数が数百単位になってしまい、メモリ不足になると思うので重複は削除して作りたいのですが、この場合のfor文の宣言はどうなるのでしょうか? 抽出される数が条件に応じて変わるのでいまいち分かりません。 (今までfor文は3や5などの指定数での経験しかありません) どうかお助けください

  • Excel VBA に関する質問

    ExcelのVBA初心者です。 同じ列にランダムに配置された黄色のセルの「数」をカウントするために以下のようなコードを見つけました。確かにこれで列内の黄色のセルをカウントできるのですが、カウントした後でその列内の黄色のセルの数を変える(黄色であったセルを違う色にしたり、新たに黄色のセルにしたり)と、その結果が反映されません。どのようにコードを書きなおせば、随時列内の黄色のセルの個数が変わるたびにちゃんとカウントできるのでしょうか? Function color6(a As Range) Dim c As Range, cu As Long Application.Volatile For Each c In a If c.Interior.ColorIndex = 6 Then cu = cu + 1 Next color6 = cu End Function でやっています。

  • Excel 2010 集約アラーム表示

    お世話になります。エクセルのシート1に、条件付き書式を使て期限の管理を数か所のセルに、アラーム表示「注意」(黄色)をさせました。その結果をシート2の一つのセルに集約して同様に(黄色)「注意」と表示させたいのですがどのようにしたらよいでしょうか? ご教示お願い致します。(Excel 2010)

  • エクセルで、あるセルを参照に空白のセルを塗りつぶす方法

    仕事で毎時間の各商品の売れ具合を、エクセルで日々表にしています。表は多い(多)普通(普)少ない(少)無し(無)と数段階に区切って表示して、それぞれに(多)なら赤、(普)なら黄~とそのセルを塗りつぶしています。表内のセルには、条件付き書式をかけているのでA商品の売り上げ9時台が「普通」なら、対象のセルに普と入力すると、そのセルは自動的に黄色で塗りつぶされるようにしています。 そして、9時台が「普通」で、同じ商品の10~14時台まで同じ「普通」の売り上げが続き、15時に「多い」になったら、10~14時台のセルを9時台と同じ状態が続いたということで、セルの中には何も入力せず、色だけ黄色で塗りつぶしています。 (一つの商品は時間毎に右のセルに移動して、始めから終わりまで同じ行で表示しています。) 前置きが長くなってしまいましたが、質問させていただきたいのは、 あるセル(例:セルA2)に「普」と入力し、塗りつぶしも(条件付き書式で自動的に)黄色になった場合に、そのセルの右隣のセル(例:セルB2)に何も入力されていなければ、同じ色(黄色)に塗りつぶし、さらにその右隣のセル(例:セルC2)にも何も入力されていなければ、これも同じ色(黄色)に塗りつぶす~という作業を、同じ行の右隣のセルに何か入力されるまで繰り返す。という指示をエクセルに与えることは可能でしょうか?(ソフトはエクセル2000を使用しています) 自分で関数で色々試してみましたが、出来ずに困っています。 これは、マクロ(VBA?)というもので、出来るのでしょうか? 私はマクロを全然使ったことが無いのですが、もしマクロで出来る場合、マクロ初心者の私では難しいでしょうか? 長々とした、わかりづらい質問で申し訳ありません。 宜しくお願いいたします。

  • EXCEL(VBA)について質問です。

    EXCEL VBについてアドバイスお願い致します。 添付をご確認して頂きたいです。 内容といたしまして、F5~F100セルを文字の入力欄とします。 F5~F100に以下の文字が入ると条件付きで背景色を変えたいです。 赤: 背景(赤色) 白: 背景(白色) 桃: 背景(ピンク色) 黄: 背景(黄色) 橙: 背景(橙色) 紫: 背景(紫色) 緑: 背景(緑色) 上記の7条件にてセルの背景を自動で変更してくれるプログラムが知りたいです。 ご迷惑おかけしますがアドバイスお願い致します。