- ベストアンサー
Excel2003でカレンダーから日付を入力する方法
- Excel2003を使って、カレンダーから該当日を選択し、セルに日付を入力する方法について教えてください。
- カレンダーコントロール11.0を使用して日付を入力しようとしましたが、うまくいきませんでした。
- 他の方法や代替案があれば教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
補足につきまして・・・ 「B1選択時以外はカレンダー非表示」と 「日付入力後、B2セルを選択」の記述を追加しました。 コードを以下のものに入れ替えてみてください。。。 Private Sub Calendar1_Click() Range("B1").Value = Calendar1.Value Calendar1.Visible = False Range("B2").Activate End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("B1")) Is Nothing Then Calendar1.Visible = True Else Calendar1.Visible = False End If End Sub
その他の回答 (3)
- oka_me
- ベストアンサー率86% (26/30)
>(上記の“カレンダー”とは、カレンダーコントロール >11.0で表示したものを指しているのでしょうか?) その解釈で大丈夫です。。 2003でのプロパティシートの出し方は、以下のURLにありました。 http://juen-cs.dl.juen.ac.jp/html/office2003-2007/03/03/24/index.html 「■コントロールツールボックス ツールバー|プロパティ」 の部分を参照下さいm(_ _)m
お礼
色々とアドバイスいただき、ありがとうございます。 上記の手順で操作したところ、ほぼ希望通りの形に なってきました。 あと一つ要望ですが、B1セルにカーソルを持っていき、 カレンダーが表示されるのはよいのですが、何も日付を 選択せずに、B1セルを離れた場合にもカレンダーが 非表示になるような設定にしたいのですが。 たびたびの質問ですみません。。。
補足
もう一つ要望があります。 B1セルに日付が登録された後、カレンダーが 非表示となったら、カーソルをB2セルに移動させて おきたいのですが、こちらの操作方法についても ご教示願います。
- oka_me
- ベストアンサー率86% (26/30)
スペースを取ってしまう件に関しては、確かに懸念しておりました^^; 以下ではデフォルトで非表示設定→B1を選択するとカレンダー表示→日付クリックで日付反映/再度非表示、という流れになっています。 このような感じで如何でしょうか。。 1)カレンダーのプロパティシートを表示する。 (2007の場合、カレンダーの上で右クリック→プロパティで表示できますが、2003が手元に無い為同様の操作で出来るかはちょっと未確認です) 2)「Visible」の項目が「True」になっていると思うので「False」にする。 (これでデフォルト非表示になります) 3)最初の回答同様に「コードの表示」を選択し、以下の7行を記述する。 Private Sub Calendar1_Click() Range("B1").Value = Calendar1.Value Calendar1.Visible = False End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("B1")) Is Nothing Then Calendar1.Visible = True End Sub (Calendar1_Click内に選択後非表示にする記述を追加、またB1セルを選択した場合に表示させるイベントを新たに追加しています) ※最初の回答にある3行の記述が残っていたら削除して下さい。 またカレンダーの位置はデザインモードで表示させたい箇所に移動させておくと良いかと思います。。
お礼
たびたびのご回答、ありがとうございます。 上記1)項の部分をExcel2003でどのように 操作すればよいのかがどうしても分かりません。 (上記の“カレンダー”とは、カレンダーコントロール 11.0で表示したものを指しているのでしょうか?) あと一歩なのですが。。。 他にも何か方法はありませんでしょうか?
- oka_me
- ベストアンサー率86% (26/30)
そのままカレンダーコントロールを使用するのであれば、デザインモードの状態で(カレンダーを挿入した時点で既になっているかとは思いますが)、カレンダーの上で右クリック→コードの表示、で、出てきた入力エリアに Private Sub Calendar1_Click() Range("B1").Value = Calendar1.Value End Sub の三行を記述し、右上の×でエディタを終了→デザインモードを解除しカレンダー内の日付をクリックしてみて下さい。
お礼
早速のご回答ありがとうございました。 補足部分も含めて、追加質問させていただきますが、 上記のやり方だと始めからExcelのブック上にカレンダー が表示されており、その分場所を取ってしまいます。 できれば、B1セルにカーソルを持って行った時だけ カレンダーを表示し、日付選択後はカレンダーが非表示に なるような形にしたいのですが、何かよい方法はあります でしょうか?
お礼
希望通りの形になりました。 完璧で~~す!! ご協力感謝いたします。 本当にありがとうございました。