• ベストアンサー

エクセル2007です。セルの塗りつぶしを自動に実行するVBAについて、

エクセル2007です。セルの塗りつぶしを自動に実行するVBAについて教えてください。システム日付でVBAを使用したいのですが横軸に日付(2010/1/1~2015/12/31)、縦軸に時間(0~24まで)があるシートです。日付と時間がマッチしたところのセルを緑色に塗りつぶしたいと思います(スケジュール表を作成中です)。VBA初心者ですが、記述等教えていただきたいと思います。よろしくお願いします。

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

  • ベストアンサー
  • OtenkiAme
  • ベストアンサー率77% (69/89)
回答No.1

こんにちは。 日付と時刻が入力されているなら条件付書式で設定した方が簡単だと思いますが、 どうしてVBAを使用したいのですか? 例えば、B2セルに入る式なら=AND(TODAY()=B$1,HOUR(NOW())=$A2) のように1行目の日付が今日の日付で、かつ、A列の時刻が今の時刻なら 塗りつぶしの色を緑色にする、と設定してあげればいいのではないでしょうか。 これを他のセルにも書式コピーしてあげればいいと思います。 > VBA初心者ですが、記述等教えて… コードの作成依頼は禁止されているようなので、 記録したコードの修正は、お手伝いできると思います。 マクロの自動記録はできますよね。 例えば、 > 日付と時間がマッチしたところの… は、日付を検索して得た列と時間を検索して得た行の共通エリアは、 Intersectメソッドで取得することができますから、 日付を検索する。 時間を検索する。 緑色に塗りつぶす。 を記録してコードを組み合わせていけばいいと思います。 でも、塗りつぶしっぱなしでいいのですか?

mszjmszj
質問者

お礼

ありがとうございました。条件付き書式がらみで作成したいと思います。

関連するQ&A

  • VBAを使ってセルを検索後別シートのデータを自動入力したいです。

    見ていただきありがとうございます。 エクセルの2000VBAを使って次のようなことを考えています。 シート2に以下のようなデータがあります。 2006/7/20 コード 数量  100  200   200  400 データの数は日によって違います。 シート1には以下の表があります。横軸にはコード縦軸には日付が入っており各対応するセルに数量が入っています。       100  200  300  400 ....←コード 2006/7/1  20  40  100  800 2006/7/2  50  60  200  500   .   .   . 2007/6/30  このような場合、シート2にコマンドボタンを設けて押したときシート2の日付とコード番号によりシート1の表の検索を行って対応するセルにシート2のデータを転記したいのです。シート2のデータは本日分のデータが入った時点でシート1への転記を行います。(1日一回です) また、シート1の表は2007/6/30(これ以降は必要ないので)までの日付がすでに入力されており明日以降のデータの入るセルは空白になっております。 よろしくお願いします。

  • エクセル2007です。VBA不具合について教えてください。

    不具合ついてですが、任意のセルに何か入力中の時にA1の表示が停止してしまうことです。 入力中でもこれを回避する方法がありましたら是非お知恵を拝借したいと思います。よろしくお願いします。 現在の環境は以下のとおりです。 セルA1は=now()で秒まで表示。 横軸に日付(B2=2010/1/18~I2=2010/1/25)の8日、縦軸に時間(A3=0~A27=24)の24時間割があるシートです。 日付と時間(HOUR)がマッチしたリアルタイムセルのみを緑色(条件付き書式にて)に塗りつぶすスケジュール表を作成中です。 標準モジュールは次のとおりです。 Sub Auto_Open() Application.OnTime Now + TimeValue("00:00:01"), "timer" End Sub Sub timer() With Worksheets("Sheet1") If .Cells(1, 2) <> "" Then Exit Sub .Cells(1, 1).Calculate End With Application.OnTime Now + TimeValue("00:00:01"), "timer" End Sub

  • 自動でのカレンダー作成について

    エクセルで、シートごとに月別のスケジュール表を作りたいです。 例えば、4月シート 横軸に会議名を記入し、それぞれ当てはまる日付に時間を入れます。 (セルA2/1日)(セルB2/日曜) (セルA3/2日)(セルB3/月曜)とし、土日祝日に塗りつぶしで色を入れる このような表で、月をセルA1に入れた場合、 自動で日付の右セルに曜日を入れること、土日祝日に塗り潰しの色を入れるには、どのようにしたらいいでしょうか? 質問の内容がわかりにくかったら申し訳ありませんが、よろしくお願いします。

  • エクセルVBA 開始セルに戻る方法

    エクセル2003にて VBA記述の方法で、”実行時に選択されていたシートのセルに戻る”というのはどう記述すればよいのでしょうか??? 現在使用しているVBAは人から教えてもらったもので”アクティブシートから他のシートの情報を検索し、コピーする”というものですが追加で”元のシートに返って情報を貼り付ける”という機能を追加したいです。 わかるかた教えてください。(初心者ですみません)

  • Excelでセルをおすと他のシートのセルにとぶにはどうしたら?

    教えてください。 Excelで、スケジュールを作成しています。 sheet1には年間カレンダーがあり、sheet2には細かく日付ごとのスケジュールがあります。 sheet1の日付セルを押して、sheet2の詳細セルへとばすにはどうしたらいいでしょうか? 宜しくお願いいたします。

  • ExcelのVBAについて。

    ExcelのVBAについて。 画像のようなコードを利用してセルに入力時の日付時間を自動的に付加させたいのですが、、 VBA初心者な為に上手くいきません。 コード自体はサイトのを切り貼りして使えるのですが、これ以上の応用例に行き着けません。目的としては、データベース的に、あと入力数値から特定文字を抜き出して変数を当て嵌め文字列の語呂を当てます。様式はまだ作成中ですが、ある種の図表化してプリントアウトまでしたいと思っています。 何が上手くいかないか、まず自動的に付加させる所は何となく出来ているので、これをシート1とした場合に、シート2に図表化した転記内容を構成し、、シート1入力、シート2表示、またシート1A3セルに戻るというコードにしたいです。 この記述は不味いとかこうこうああした方が良いというアドバイスや指摘をお願いします。 よろしくお願いします。

  • エクセルの表でリンクさせて列行を入れ替える方法

    教えてください。 横軸に日付が1日から31日まで入っていて縦軸に項目が何十個もあります。これを別のシートに縦軸に日付が1日から31日まであるセルにリンクさせ完全に縦横逆になる表を作るにはどのようにしたら簡単にできるか教えてください。

  • エクセル VBA セルの塗りについて

    VBAで下記のようなことをしようと考えております。 ワークスケジュール A B C D E-AF No 開始時間 終了時間 作業者 15分刻みの時刻(08:00-) コマンドボタンを作り、開始時間と終了時間の数値を読み込んで、 E-AFまでのセルに自動で色を塗り分ける。 ワークシートのセル変更に動作する記述はよく見かけますが、ボタンクリックによる動作はなかなか見当たりません。 詳しい方いらっしゃいましたら、よろしくお願いします。

  • Excelの表の変換

    Excelで作った、業務の分担表があります。 分担表は縦軸は日付、横軸は8項目の業務項目で、この交点のセルに担当者の氏名が記入されています。 今回、この表から、縦軸は日付で同じですが、横軸に担当者を列記して その交点に業務内容が記入された表を作りたいのですが、効率良く作る方法があれば教えて下さい。

  • エクセルのセルに

    表の縦軸と横軸の交わる一番はじめのセルに斜線を入れたいのですが、どうすれば入れることができるのでしょうか? ご存知の方、教えてください

専門家に質問してみよう