Excelで日付入力用カレンダーを作る方法

このQ&Aのポイント
  • Excelで日付入力用のカレンダーを作成する方法を解説します。従来のファイルをOffice 2010の環境で開いた際に表示できない問題が発生しましたが、Access 2007をインストールすることで解決できます。また、新規ファイルに従来のファイルのVBAをコピーして貼り付けるという方法もありますが、カレンダーが表示されない問題が発生することがあります。
  • Excelで日付入力用のカレンダーを作成する際に注意すべき点について説明します。Excel 2010の新規ファイルに従来のファイルのVBAコードをコピーして貼り付ける場合、カレンダーが表示されない問題が発生することがあります。また、Office 2010の環境で従来のファイルを開いた際にカレンダーが表示できない場合は、Access 2007をインストールすることで解決できます。
  • Excelで日付入力用のカレンダーを作成するための手順を説明します。まず、新規ファイルを開きます。次に、従来のファイルのVBAコードをコピーします。そして、新規ファイルにコードを貼り付けます。この手順を踏むことで、日付入力用のカレンダーを作成することができます。
回答を見る
  • ベストアンサー

Excelで日付入力用カレンダーを作るには

お世話になります。 従来のファイル(Excel 2007)を Office 2010 の環境で開くと、マクロで作成した「日付入力用のカレンダー」が表示できませんでした。 このパソコンに Access 2007 をインストールしました。 その結果、このファイルは正常にカレンダーを表示し、日付を入力できるようになりました。 Excel 2010 の新規ファイルに、従来のファイルの VBA をコピーして、貼り付けました。 ところが、この新規ファイルでは、カレンダーを表示できず、別添のようなメッセージが表示されます。 この原因を教えていただければ有難いです。 なお、そのVBA は次のようなものです。 [各ワークシート] Option Explicit Sub カレンダーON() ActiveSheet.Calendar1.Visible = True End Sub Sub カレンダーOFF() ActiveSheet.Calendar1.Visible = False End Sub [標準モジュール] Option Explicit Private Sub Calendar1_DblClick() ActiveSheet.Range("A3", "C3") = Calendar1.Value End Sub よろしくお願いします。

  • 67boy
  • お礼率91% (144/157)

質問者が選んだベストアンサー

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

Excel 2010 での変更点 http://technet.microsoft.com/ja-jp/library/cc179167(v=office.14).aspx ――――以下引用―――― カレンダー コントロール (mscal.ocx) は、Access ワークシートで使用できる Microsoft Access の機能でした。Access 2010 ではカレンダー コントロールが削除されており、Excel 2010 で使用できません。代わりに、日付の選択を使用するか、独自のカスタム カレンダー コントロールを使用します。 以下のページを参考にして対応してください。 Excel2010のカレンダーコントロール(DatePicker)周辺事情 http://kojikoji75.hatenablog.com/entry/2013/08/17/175328

67boy
質問者

お礼

MackyNo1 さん、ありがとうございます。 紹介していただいた下記のWebで作成することができました。 http://kojikoji75.hatenablog.com/entry/2013/08/17/175328 本当に助かりました。 またよろしくお願いします。

関連するQ&A

  • 「カレンダーコントロール12.0」の使用について

    よろしくお願いします。 Excelで1か月分の日報を作成しています。 1ワークシートに1日の日報を作成しています。 すなわち、1ブックに31日分の日報を作成します。 日付の入力は、「カレンダーコントロール12.0」を利用しています。 まず、標準モジュールの中に「Mojule1」を作成し、次のようにマクロを組みました。 Option Explicit Sub カレンダー表示()  カレンダー表示 Macro ActiveSheet.OLEObjects.Add(ClassType:="MSCAL.Calendar.7", Link:=False, _ DisplayAsIcon:=False, Left:=673.5, Top:=58.5, Width:=204.75, Height:= _ 203.25).Select End Sub Sub カレンダー消去()  カレンダー消去 Macro ActiveSheet.Shapes("Calendar1").Select Selection.Delete End Sub これでカレンダーのON,OFFは正常に動作します。 問題なのは、カレンダーをONにして日付を挿入しようとすると、挿入できません。 現在の対応策として、カレンダーをON →「開発」タブ →「デザインモード」ボタンON→OFF→日付をダブルクリック この操作をすると正常に日付が挿入されます。 その記述は、各ワークシートに次のようになっています。 Option Explicit Private Sub Calendar1_DblClick() ActiveSheet.Range("A3", "C3") = Calendar1.Value End Sub カレンダーON→日付をダブルクリック これで挿入できるようにするには、どこをどのように改めれば良いでしょうか。 よろしくお願いします。 Windows Vista Home Premium SP-2 Office 2007 SP-2

  • Excel2007のカレンダーコントロール

    Excel2007のカレンダーコントロールで質問します。 Private Sub Calendar1_Click() ActiveCell.Value = Calendar1.Value ActiveSheet.Calendar1.Visible = False End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$A$4" Then ActiveSheet.Calendar1.Visible = True End If End Sub この状態ですと、セルA4をクリックしたときだけカレンダーコントロールが表示されます。 A列をどこでもクリックしたときにカレンダーコントロールが表示されるようにするには どこを、どう変更すればよいのでしょうか? 教えてください。

  • セル横にカレンダーを表示、入力したい。

    教えて!goo に昨日登録し、初質問させていただく  gekkadokusyaku(月下独酌) と申します。 新参者をよろしくお願いします。 Excel2010で家計簿を作成中です。セル横にカレンダー表示して日付をクリック入力したいのですが、カレンダーを入力セル横に持ってくるにはどうしたらよいでしょうか。(カレンダーが画面中央に来てしまいます。)カレンダーはネット上からダウンロードしたものを使用しています。 下記のマクロが家計簿シートに記してあります。これに何か書き加えて希望のものができないでしょうか。 Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) '家計簿にカレンダー表示 If Target.Column = 1 Or Target.Column = 11 Or Target.Column = 21 Then If Target.Row >= 5 And Target.Row <= 65 Then frmCal.Show End If End If End Sub 以上よろしくお願いします。

  • マクロでカレンダーから選択したセルに日付を入力したい

    こんばんは。最近VBAの勉強を始め参考書を見ながら下記プログラミングを使い、選択したセルにカレンダーから日付をダブルクリックで入力したいのですが、記述が分かりません(○○○部分)。入力するセルは行や列を一行毎ずらしたりせず、自由に選択してダブルクリック入力したいのです。今の記述だと、1つのセルだけ入力した後、次のセル選択が出来ず困っています。ご指導宜しくお願い致します。 Private Sub Calendar1_Click() ActiveCell.Value = Calendar1.Value  ○○○○ End Sub ----------- Private Sub UserForm_Initialize() Calendar1.Value = Data End Sub ----------- Private Sub Sheet1_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column <> 1 Then Exit Sub UserForm1.Show Cancel = True End Sub

  • エクセルvbaでフレーム上のカレンダーコントロール

    エクセルvbaでユーザーフォームの中のフレーム上にカレンダーコントロール をデフォルト非表示で配置しています。ボタンをクリックするとカレンダを表示状態にして、 日付をクリックしたらその値をテキストボックスに表示してカレンダの 表示を消すというコードを作りました。以下がそのコードです。 Private Sub 表示ボタン_Click() cldCalendar.Visible = True cldCalendar.SetFocus End Sub Private Sub cldCalendar_Click() With cldCalendar テキストボックス1 = .Value テキストボックス1.SetFocus .Visible = False End With End Sub このコードだとカレンダーの日付をクリックしない限り、 ずっとカレンダは表示されたままになってしまいます。 カレンダからフォーカスが移った時非表示にしたいのですが、どうすればよいのでしょうか? また非表示にしたいのは、フォーム上の特定のオブジェクトをクリックしたときだけではなく、 フォーム上の何もない場所など、とにかくカレンダ以外のすべてにおいてクリックしたり、 フォーカスが移動したらカレンダを非表示にしたいのです。 注文が細かくて恐縮なのですが、どなたか詳しい方教えてください。

  • Excel カレンダーフォーム VBA セルごとに入力方法

    VBA初心者ですが、どうか教えて下さい。 EXCELのSheet1に、日付を入力する欄を7つあります。 (例: A1, B2, C3, D4, E5,F6,G8) それぞれ別の日付で入力していく事になるものです。 UserForm1にカレンダーコントロールを作成し、 以下のコードまで出来ました。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) UserForm1.Show End Sub この先がわからないのです。 このカレンダーコントロールを利用して、例えばA1を選択した時、 カレンダーが表示され「2007/10/11」とクリックで入力でき、 次にB2を選択した時、「2007/10/13」と選択し入力でき。。。等、 決まったセルの場所に、任意で日付を入れるようにしたいのです。 初心者ですみませんが、どうか教えて下さい。宜しくお願いします。

  • 日付を自動入力する方法

    入力フォームと言うシートの日付列A8からA22(A8からD8まで結合して、このパターンでA22まであります)まで日付を入れるようにしています。右隣の列E8からE22は商品名が入る列です。 今は、下記のVBAで日付のセルを選択して、日付が自動で入るボタンを押して、本日の日付を入力しています。K28には=today()の関数が入っています。 Sub 日付入力()  ActiveSheet.Unprotect  Range("K28").Copy  ActiveSheet.Paste  Application.CutCopyMode = False  ActiveSheet.Protect End Sub これを日付のマクロボタンを押す毎に、A8からA22まで順番に入力できるようにするにはどうすればよいでしょうか? 尚、入力フォームの作成・保存が終わるとA8からA22まですべて、セルの値を消去するマクロボタンを作っています。

  • excel VBA 作成したUserFormにoptionButton

    excel VBA 作成したUserFormにoptionButtonを多数配置しています。このUserFormをワークシート上に再表示すとる、チェック項目に入力したチェックが消えてしまいます。消えない方法が解りません。 private sub OptionButton1_Click() Activesheet.Shapes("図形1").Visible=False '図形1表示 End sub private sub OptionButton1_Click() Activesheet.Shapes("図形1").Visible=True  '図形1非表示 End sub  同様な書式で数項目あります。 又、保存したワークシートを読み込んだ場合も同様に出来ないでしょうか。optionButtonのチェック項目が多数あります。チェック項目は図形を表示と非表示です。何方か良い方法がありましたら教えて頂けないでしょうか。宜しくお願いします。

  • アクセス テーブルリンクのカレンダーコントロール

    受注管理システムを作っています。 カレンダーコントロールについてです。 社内運用上、データを独立?(表現は正しいのでしょうか?)させています。 なので、受注データからプログラムの方へテーブルリンクをしています。 そのせいでしょうか? カレンダーコントロールの日付を受注日に表示させる、という作業が、データをリンクしていない原システムで練習するとできるのに、本番用のテーブルリンクの方のオウログラムでやると、値が表示されません。 解決の方法はございますか? まだまだアクセス初心者です。GOOで教えていただいたり、参考書開き開き独学中です。 ちなみに、こちらです。 Private Sub 受注日_Click() Me.カレンダー.Visible = True '表示 Me.カレンダー.Value = Date '日付規定値 本日 End Sub Private Sub ActiveX_カレンダー_Click() Me.受注日 = Me.カレンダー.Value Me.受注日.SetFocus End Sub Private Sub 営業担当コード_LostFocus() Me.カレンダー.Visible = False '非表示 End Sub

  • Excelの日付の入力でカレンダーを表示する方法

    エクセルのセルに日付を入力する際に、カレンダーを表示してそれをクリックして入力する方法があれば教えてください。

専門家に質問してみよう