[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『開いた時の日付を塗りつぶし(VBA)』(ぽん)
下記のようなカレンダーを作成したのですが、
このファイルを開いた時点の日にちとその一行下のセル(6日に開いた場合、C5とC6)を塗りつぶししたいのですが、どのようにしたらよいのでしょうか。
また、もちろんですが、次の日に開いた場合、前日に塗りつぶした日にちは解除した状態にしたいです。
・日付は式で入力されています。(表示形式は日にちのみ)
・カレンダーは月を変更(スピンボタン)するたびにそれに応じた月の曜日配置になります。
宜しくお願い致します。
A B C D E F G 1 2 日 月 火 水 木 金 土 3 1 2 3 4 5 4 5 6 7 8 9 10 6 7 11 12 13 14 15 16 17 8 9 18 19 20 21 22 23 24 10 11 25 26 27 28 29 30 31 12 13 14
< 使用 Excel:Excel2013、使用 OS:unknown >
A3セルからG14セルを選択した状態で条件付き書式→新しいルール 数式を〜を選んで =OR(A2=$I$3,A3=$I$3) 書式の塗りつぶしタブから色を選択 (bi) 2018/03/06(火) 13:26
(↓以下、衝突したものそのまま)
なにがどこまで理解できてるかわからないので、具体的にどのようなコードをかいていて、どう上手く行かないのか説明してもらえませんか?
アイデア的な話であれば、思いつきですけど
3,5,7・・・行目の数字を実際には日付型の値になるように設計しておいて、
Range(A3:G13).offset(1)の範囲の塗りつぶしを解除しておいてから、
Range(A3:G13).find で 「本日の日付」 を検索して
見つかったセル.offset(1) を塗りつぶせばいけるような気がします(テストしてないので確証はなし)
(もこな2) 2018/03/06(火) 13:38
タイトルにVBAって書いてありましたね…。失礼しました。 (bi) 2018/03/06(火) 13:39
こういうベタでいいと思うけどね。
Dim Cel As Range Range("A3:G11").Interior.Pattern = xlNone For Each Cel In Range("A3:G11") If Cel.Value2 = Range("I3").Value2 Then Cel.Resize(2).Interior.Color = 65535 Exit For End If Next
(BJ) 2018/03/06(火) 14:02
BJ様の提案のものを参考にさせていただきます。
他の方々もお時間を割いていただきありがとうございました。
また何かありましたら、宜しくお願い致します。
(ぽん) 2018/03/06(火) 14:35
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.