ここから本文です

エクセルで日付をカレンダーから入力できないか?

このエントリーをはてなブックマークに追加

質問者

bonnsa8778さん

2010/10/613:01:49

エクセルで日付をカレンダーから入力できないか?

エクセルで日付を入力する際、あるセルにカーソルを持っていくとウィンドウが開き、そのカレンダーの日付をクリックすると、セルに日付が入力できるようにできないのでしょうか?

補足ご回答、有難うございます。
このVBAでを使っての日付入力は、シートのA列でしか入力できないようですが、任意のセルで入力できるよう設定はできないのでしょうか?

閲覧数:
10,861
回答数:
1

違反報告

ベストアンサーに選ばれた回答

a_headfishさん

編集あり2010/10/1209:10:56

可能ですが、エクセルのVBA(カレンダーコントロール)を使用する事になります(^_^;


下記が参考になると思います。

http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_calendar.html


>このVBAでを使っての日付入力は、シートのA列でしか入力できないようですが、任意のセルで入力できるよう設定はできないのでしょうか?

If Intersect(ActiveCell, Range("A:A")) Is Nothing Then Exit Sub
上記の部分が、A列でのみの入力を可能にしているところです。
「Calendar1をクリックしたら、アクティブセルがA列のセルであるかどうかを判定し、A列のセルであったら日付を入力します。」と説明にも記載されてますので、この行(上記の部分)をVBAから消してしまえば、どのセルであっても有効になります。
但し、計算式などが入っていたとしても、このカレンダーのVBAが最優先になるので、計算式が破棄され、日付が入力されてしまいます。

これを回避するには、
If Intersect(ActiveCell, Range("A:A")) Is Nothing Then Exit Sub

If Intersect(ActiveCell, Range("B1")) Is Nothing Then Exit Sub
とすれば、B1に対して有効になります。

あとは、新規のエクセルファイル、シートで作成してみて、上記の部分を複数行指定するとかして変化を調べて見てください。
修正するのが大変になりますから使用中のファイルで試さず、新規のファイルを使ってくださいね。

質問した人からのコメント

2010/10/12 19:59:26

降参 事細かに 解説いただきありがとうございます。
最近、老眼が入り細かい字にアレルギーぎみです。
もう一度 じっくり読み返します。有難うございました。

ちょい足しを取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル
  • このエントリーをはてなブックマークに追加

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

ID/ニックネームを選択し、「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する