解決済
条件付書式で悩みがあります。カレンダーを作っていますが今日の日付に該当した場合そのセルを指定したいのですがうまくいきません。
下記のサイトにあるカレンダーをベースに万年カレンダーを作っております。先日教わった(回答してくださった皆様有難うございます。 )セルの一時的配色を用いて条件付書式で=DATE($B$2,$B$3,B7)=TODAY()で何も条件をつけなければセルが該当日に移動しているはずと思うのですが出来ません。なぜでしょうか。。。。
回答(2)
6.

従って、「もし今月のカレンダーだったら、アクティブセルを今日に移動」という処理を書いてやる必要があります。
サンプルとして提示されてあるカレンダーExcelファイルを前提に回答します。
標準モジュールではなく、「Sheet1」のマクロスペースに記述してください。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Integer, c As Integer
Dim yyyy As Integer, mm As Integer
Dim dd As Variant, mm_last As Integer
yyyy = Range("B2").Value
mm = Range("B3").Value
'カレンダーは、条件付き書式で4/31などありえない日付は
'見せてないだけなので、指定月の最後の日は何日までか求
'めておく
mm_last = Day(DateSerial(yyyy, mm + 1, 1) - 1)
For r = 7 To 12
For c = 2 To 8
dd = Cells(r, c).Value
If IsNumeric(dd) Then '数字だったら
If dd <= mm_last Then 'あり得る日付だったら
If DateSerial(yyyy, mm, dd) = DateSerial(Year(Now), Month(Now), Day(Now)) Then
Cells(r, c).Select
Exit Sub
End If
Else
Exit Sub
End If
End If
Next
Next
End Sub5.
また、条件付き書式は、
条件が満たされた時に指定した書式を適用するのであって、アクティブセルを移動するものではありません。
コメント(6)
「次の数式を満たす」ですか??そんな設定がないのですが・・・
あとアクティブセルを移動するに応用できないのですか?
厳格に処理するなら、isdate関数で、その日付が存在するかどうか判断したり、「データ」→「入力規制」で、月は1~12しか入力できないようにして下さい。
すみません。ありがとうございます。
初歩間違いかもしれませんがVBEにいれても全然起動してくれないのですが何かの間違いでしょうか??
(実行も動かないです)
#1>そんな設定がないのですが・・・
2007以前の場合は、
「セルの値が」のコンボリストをクリックして
「数式が」を選んでください。
autocalender.xlsファイルをUPしておきました。
http://pub.idisk-just.com/fview/Wp6RjRvMqZ0b-PLDzX...
標準モジュールのModule1とかに記述していませんか?
Sheet1のマクロスペースに記述する必要があります。
また、マクロのセキュリティが「高」以上になっているとか?
年と月のセルを色々な年月の数字に変化させると(ワークシートの内容が変わると)マクロが動きますので、マクロそのものを自分で「実行」するものではありません。
あっ・・わざわざすみません
コードの記述で改行とかコピペで失敗してました。
有難うございました。Load Runnerさんすごいですね すぐに色々作れるので私なんて1日考えてもなかなか出来なかったりでまた新たに問題直面です。。。

