カレンダーコントロールが使えない。#1でご紹介のURL参照。
同一月の日付が多いときなどの場合に下記は使えると思う。
Sheet2にカレンダー(単月)を造る。
造り方は後述。
カレンダー専用シートにする。
使い方。
Sheet1で日付をセットするセルをクリック。(1動作)
Sheet2のタブをクリック(1動作)
Sheet2で望む日付をクリック(1動作)
(Sheet1をアクチベイトされる)
以上でカレンダーコントロールと同じ動作ステップ数で日付セットを実現。
そのために
Sheet2のシートモジュールに
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Worksheets("Sheet1").Activate
ActiveCell = Target
End Sub
を入れておく。
ーーー
カレンダーの作り方
C1に2006(年を入れる)
D1に3を入れる(月の数字を入れる)
A3:G3に
日 月 火 水 木 金 土
を入れる。
A2に=WEEKDAY(DATE($C$1,$D$1,1)) 年初の曜日。文字色を白にして見えないようにするとか。
A3に=DATE($C$1,$D$1,1)-$A$2+(ROW()-4)*7+COLUMN()
A3をG3まで式を複写。(+ハンドルを引っ張る。)
A3:G3をA8:G8まで式複写。(+ハンドルを引っ張る。)
A3:G8のセルの書式をユーザー定義「d」にする。
A3:G8の書式ー条件つき書式ー数式が、で数式に
=NOT(AND(YEAR(A4)=$C$1,MONTH(A4)=$D$1))
といれ、文字色を白に設定。それで当月外の日付は見えなくなる。
ーー
なおSheet2のD1の月を変えると、瞬時にその月のカレンダーに内容が替わる。これはカレンダーコントロールでも同じ1動作が必要。
お礼
ありがとうございました。 大変、参考になりました。アクセスがあると結構簡単にできるんですね。