【Excelマクロ】カレンダーでの日付指定機能が使えるフォーム

このQ&Aのポイント
  • Excelのマクロで、Windowsの「日付と時刻の設定」みたいな、カレンダーで日付の指定ができるようなフォームを作りたいです。参照設定で出てくるカレンダーコントロールはAccessが入ってないとダメらしく、また、カレンダー機能のために、該当するOCX(MSCAL.OCX)を添付してExcelブックを提供するのはライセンス上問題があるそうです。
  • ExcelVBAで簡単にカレンダー機能を実現する方法はありますでしょうか?(市販のコントロール買うとかはなるべくナシで^^;)提供時にOCXとかDLLとかのファイルがついてるとうざいのでなるべくXLSファイル単体で動かしたいです。
  • むりやり自作する方法に関する技術情報のご紹介でもありがたいです。何卒よろしくお願い申し上げます。
回答を見る
  • ベストアンサー

【Excelマクロ】カレンダーでの日付指定機能が使えるフォーム

Excelのマクロで、Windowsの「日付と時刻の設定」みたいな、 カレンダーで日付の指定ができるようなフォームを作りたいのですが 参照設定で出てくるカレンダーコントロールはAccessが入ってないとダメらしく また、カレンダー機能のために、該当するOCX(MSCAL.OCX)を添付して Excelブックを提供するのはライセンス上問題があるそうです。 ExcelVBAで簡単にカレンダー機能を実現する方法はありますでしょうか? (市販のコントロール買うとかはなるべくナシで^^;) 提供時にOCXとかDLLとかのファイルがついてるとうざいので なるべくXLSファイル単体で動かしたいです。 むりやり自作する方法に関する技術情報のご紹介でもありがたいです。 何卒よろしくお願い申し上げます。

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

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

この中に書かれている方法のどれかでできそうな? http://www.h3.dion.ne.jp/~sakatsu/Excel_Tips06.htm

wild_turkey
質問者

お礼

ありがとうございます! なんとかなりそうです。

関連するQ&A

  • Accessフォームの日付選択カレンダーとイベント

    いつも楽しく勉強させていただいております。 環境はWin7でAccess(Office 365)です。 フォームでコントロールソースが日付時刻型のテキストボックスに値を設定する際に 日付選択カレンダーを使いたいのですが、そうするとテキストボックスの更新前イベントが 検知できなくて困っています。 この項目は契約の有効開始日なので、これを変更すると他の項目にすでに設定された値を クリアする必要があるのでその警告のワーニングを出したいのです。 日付選択カレンダーの機能をオフにすると更新前イベントは検知できます。 しかし他のフォームでは日付選択カレンダーを使っているのでそろえたいのです。 日付選択カレンダーと更新前イベントは両立しないのでしょうか。 何か方法よいはありませんか。

  • Excel2003(カレンダー)を使っての日付入力

    Excel2003を使って、(既に用意されている)カレンダーから該当日を選択し、 対象のセルにその日付を反映(代入)させる方法について教えてください。 例えば、A1セルに「終了予定日」とあり、隣りのB1セルに日付を入力する際には、 まず(用意されている)カレンダーを表示させ、そこから該当日(2014.3.31)を選択後、 そのままその日付をB1セルに反映(代入)できるようにしたいのですが、 何かいい方法はありませんでしょうか? 他の質問箱も見て、挿入→オブジェクト→カレンダーコントロール11.0など、 色々試してみたのですが、うまくいきませんでした。 お分かりになる方がおられましたら、分かりやすいご説明よろしくお願いします。

  • アクセスのカレンダーコントロールについて

    アクセスのカレンダーコントロールを使用してエクセルデータを作成し、他の人に同ファイルを配布する事を考えているのですが 何点か疑問がありますので教えて下さい。 1.アクセスのカレンダーコントロールのバージョン  Office2000 -> Ver.9.0  OfficeXP -> Ver.10.0  Office2003 -> ??  以上で間違いないのか、また、2003のバージョンはいくつ?  1-2.XPはエクセルのプログラムのメインフォルダに'MSCAL.ocx'のファイル名にて保存されていますが他のバージョンも同じなのでしょうか?  1-3.Excel97以前でも使用可能でしょうか?また、使用出来るのであれば、バージョン番号と保存先を教えて下さい。 2.アクセスを持っていない人に配布する場合にはどうしたら良いのでしょうか?  また、アクセス全体のCDをコピーする事は著作権上問題があることは分かっていますが、カレンダーコントロールのみ使用出来る様にしたいのですが、著作権に抵触しない方法はないものでしょうか?  サイトを検索していたら、エクセルの機能だけでカレンダーを実行出来る事は分かったのですが、アクセスのを使用したいので、エクセルのだけで実行する事は考えていませんので、よろしくお願いします。

  • access2010の「日付選択カレンダー」

    access2010の「日付選択カレンダー」について、教えてください 1.状況      フォームのテキストボックスを作成し、下記の設定を行いました      書式→をyyyy/mm/dd、日付選択カレンダーの表示→日付 2.教えて欲しい事      アイコンをクリックし、カレンダー操作によりテキストボックスへ設定できますが、      テキストボックスに本日以外の日付(例えば、2020/12/31)を指定し、      カレンダーを起動すると、本日を選択した状態にてカレンダーが表示される      →カレンダーが2020/12/31を選択した状態にて、       カレンダーを起動させる方法を教えてください ※よろしくお願いします。検索してもヒットしません

  • 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 よろしくお願いします。

  • Excel2010VBAでエラーが出る相対パス指定

     ExcelVBAで,Excel2007と2013で問題無いのに, Excel2010ではエラーが出る相対パス指定について, ご教示を頂けると助かります.  ExcelVBAにて, ○○.dll ファイルを 以下のように宣言して使っています. Private Declare Function LoadTT Lib ".\○○.dll" _ () As Integer  プログラムの中で, ret = LoadTT() を実行すると, Excel 2007では相対パスでの指定で問題無く動作しますが, Excel 2010では相対パスでの指定ではエラー(ファイルが見つからない)"48"が出ます. そこで,相対パス指定をやめて絶対パスに変更すると問題無く動作します.  念のため Excel2013でも試したところ, 2007と同様に,相対パス指定でも問題なく動作しました.  なお,ExcelVBAのファイル「○.xlsm」と「○○.dll」は同じフォルダーに入れています.  また, ChDrive ThisWorkbook.Path ChDir ThisWorkbook.Path の実行によるカレントフォルダーの確認も,どのバージョンでも同じに正しく確認出来ています.    因みに,バージョンの違う各Excelは別々のPCでの動作ですが,使用OSは Windows7 Professional 32bit で同じです.  以上のように Excel2010だけ動作が異なります.  とりあえずは絶対パス指定にすれば問題は解消するのですが, Excel2010で特に何か設定したということは無いので気持ち悪く, 原因と思われることでご存じ方がいらしたらご教示を頂けると助かります.  どうぞよろしくお願い致します. ==

  • カレンダーフォームの操作についてヘルプIII

    カレンダーフォームの操作についてご指導をお願いします。 Access2007 カレンダーコントロール12.0 やりたいこと 開いたカレンダーコントロールフォーム「フォーム名:カレンダーマスター」の任意の日付にコメントを入力、リアルタイム日付表示状態でメモ確認カレンダーとして使いたい。 やったことと「不具合」 「カレンダーマスター」をデザインビューで開いて「プロパティーシート」その他タブの「ヒントテキスト」行に記入する。しかし、起動時にはカレンダーが本日の日付になていましたが、将来の日付を選択してヒントテキストを入力後にフォーム「カレンダーマスター」へ戻すと、本日の日付に戻らず入力した日付表示で本日の日付に戻りません。入力操作(カレンダーマスター → コメント入力日を選択 → デザインビュー → ヒントテキスト入力 → フォームに戻す) おねがい フォーム「カレンダーマスター」を開いた状態でコメントの入力が可能な方法かあればアドバイスをお願いします。可能でなければデザインビューで開いて「ヒントテキスト」行に記入してフォーム「カレンダーマスター」に戻した時に、本日の日付に戻せる方法を教えて下さい。 アドバイスをお願いします。

  • カレンダーコントロールからセルとシート名に日付を入力

    エクセルVBAコードについてですが、マクロを実行すると、カレンダーコントロールが表示され、選択したカレンダーの日付をクリックすると、任意に指定したセルとシート名にその日付を表示させたいのですが、どのようなコードを書けばよいのか教えてください(><) ちなみに、今はインプットボックスから日付を入力する方法をとっていますが、都度「2008年○月○日」と入力しなくてはいけませんので、効率が悪く困っています。 どうぞ宜しくお願い致します。

  • ユーザーフォームの日付入力について

    Excel for Mac 2011を使用しています。 VBAを利用し、ユーザーフォームにて日付を入力する項目を 設けようと考えているのですが、 カレンダーコントロールまたはDTPickerが見当たりません。 所持しているWindows用の書籍によると [ツール]-[その他のコントロール]にてコントロールの追加ができるとありますが、 そもそも[ツール]内に[その他のコントロール]が見当たりません。 そもそも存在しないのでしょうか?? どなたかご存じでしたら回答をいただければと思います。 宜しくお願い致します。

  • エクセル2003 XPにおいて ユーザーフォーム カレンダーコントロール参照について

    いつも勉強させていただいています。 今回MSFormを用いて顧客入力フォームを作成しました。 そのフォームの中にカレンダーを導入しているのですが、 自分のPCではこのフォームが使用できるのですが、 事務を行ってもらう人のPCではカレンダーフォームが 表示されません。そのフォームの入っているエクセル ファイルを開くときも、「オブジェクトが読み込めません」 とエラーが出ます。 で、色々調べてみたのですが、VBAの参照設定の所で 自分のPCでは「Microsoft Calendar Control 11.0」にチェックが 入っている状態なのですが 事務のPCでは「参照不可:Microsoft Calendar Control 11.0」と なってチェックが入っています。 恐らくこれが原因だと思うのですが、どうしたら、 「参照不可:Microsoft Calendar Control 11.0」を 「Microsoft Calendar Control 11.0」 にできるのでしょうか? ちなみに、事務の人のPCもエクセル2003でPCはXPです。 よろしくお願いいたします

専門家に質問してみよう