[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『カレンダーコントロールがないときは』(コウマ)
過去ログ等を見てみましたが、自分が使っているパソコンに カレンダーコントロールなるものが入っていないように思わ れます。 こういう場合は、やはりあきらめるしかないのでしょうか?
公開されているものを使うか、自作することになると思います。
http://www.h3.dion.ne.jp/~sakatsu/
なお、カレンダーコントロールは、アクセスに附属しているものです。 アクセスをお持ちなら使えると思います。
ユーザーフォームで作るならちょいと面倒かもしれませんが、 ワークシートで作るならそんなに面倒ではないと思います。 (MARBIN)
>ワークシートで作るならそんなに面倒ではないと思います。
一例をアップしておきます。
A1=DATE(YEAR(TODAY()),MONTH(TODAY())+B1-120,1) ※-120は10年前から B1=1 A2=TEXT(COLUMN(),"aaa") A2をG2までコピペ A3=(ROW()-3)*7+COLUMN()-WEEKDAY($A$1)+1 A3の条件付き書式 数式が =MONTH(DATE(YEAR($A$1),MONTH($A$1),A3))<>MONTH($A$1) 書式:フォントを白 A3をG3までコピペ これでカレンダーが出来ます。
B1の数値を増減することによってカレンダーの年月を前後 させることが出来ます。
フォームのスピンボタンを設置します。 コントロールの書式設定のコントロールタブで リンクするセルを B1 最小値:0 最大値:好きなだけ大きな数 変化の増分:1 とします。
これでスピンボタンでカレンダーの日付を変えられるようになります。 今度は、セルをWクリックすることによってクリックした日付けを 取得します。
シートタブを右クリック ↓ コードの表示 ↓ (General)をクリックして"Worksheet"を選択 ↓ 下記のコードをプロシージャ内に貼り付けます。 --------------------- "Selection_Change"をクリックして"BeforeDoubleClick"を選択 ↓ Cancel = True If Target.Row < 3 Then Exit Sub If Target.Value = "" Or Month(Worksheets(1).Cells(1, 1).Value + Target.Value - 1) <> _ Month(Worksheets(1).Cells(1, 1).Value) Then Exit Sub MsgBox Format(Worksheets(1).Cells(1, 1).Value + Target.Value - 1, "yyyy年m月d日") ------------------ ↓ 右上の赤い×をクリックしてエクセルに戻ります。
これでセルをWクリックでWクリックした日付がMsgBoxで表示されます。 これはMsgBoxですが、コードを改変することによって、Wクリックした 日付けをどこかのセルに転記することも可能です。 Wクリックではなく、右クリックにすることも可能です。 (MARBIN)
A2〜A8のフォントの色を赤、G2〜G8のフォントの色を青にして おいてもいいですね。
また、工夫すれば、祝日の色を変えることも出来ると思います。 (MARBIN)
祝日にも色を着ける方法です。
祝日リストを作り、 「祝日」と名前を定義しておく
A3の条件付き書式の第2条件 数式が =COUNTIF(祝日,$A$1+A3-1)<>0 (MARBIN)
(MARBIN)さん カレンダー作れました。ありがとうございました。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.