Home > Excel VBA Macro コントロール2 > FAQ

カレンダーコントロールでワークシートに描こうとするとエラーが出るが?

Question 005k 拙著「組み方講座」 Previous Next
176ページ [2-4-7図] ◆ 環境・・ Excel 97 & Windows NT 4.00
詳細は こちら
実践編第2章「便利な入力補助機能を活用しよう」のカレンダーの描き方について質問です。
ユーザーフォームでは、右図に示すように、カレンダーボックスを描くことができました。

しかし、ワークシートでカレンダーコントロールを描こうとすると、下図のように
Calendar Control をクリックしたあと、
マウスポインタが + に変わってから矩形を描くと、
[オブジェクトを挿入できません]のメッセージが表示されて、カレンダーコントロールを描くことができません。

ユーザーフォームとワークシートで何故、このような違いが出るのでしょうか?
Answer   Copyright (C) 2003.8.28 永井善王
注意事項
カレンダーコントロールは Access 2010で削除されました。
よって、Microsoft Office Professional 2010の一部であるExcel 2010であっても利用できません。
拙著「ExcelVBAマクロ組み方講座」をご愛読いただき、ありがとうございます。
Excel97 & Windows NT 4.00.1381をお使いとのこと、できる限り調査して解決にご協力するように努めますが、あらかじめ次の点をご理解ください。
本書で扱っているカレンダーコントロールは、172ページの 「あらすじ」にありますとおり、Windows版のOfficeXP および 2000 または Access2000以上に含まれているものであり、そのバージョンは 「Microsoftカレンダーコントロール10.0または9.0」としています。
そうした理由は、カレンダーコントロールは改良途中のようで、バージョンにより仕様が異なる場合があるから(183ページ参照)です。
いただいた図だけではよく分かりませんが、ご使用中の 「Calendar Control」 は違うバージョンではないでしょうか。

ですが、とりあえず、こちらで再現テストをしてみました。ただし、同一の環境は用意できませんので、Windows Me 4.90.3000 & Excel97 で 「Microsoftカレンダーコントロール9.0」を使いました。
その結果、ユーザーフォームとワークシートのどちらにも支障なく描くことができました。ただし、あなたがユーザーフォームに描かれたカレンダー(今年分であるならば5月)は、日曜日の列のフォントが赤色になっているようですが、それは、できないと思われます。

つきましては、お使いの 「Calendar Control」のバージョンを確認 (【2-4-4①図】の下部参照) し、ワークシートで使用可能なものであるかマニュアルなどで仕様を確認いただけないでしょうか。
その結果にもよりますが、「Microsoftカレンダーコントロール10.0または9.0」をインストール (173ページ参照) してから描いてみて、それでもダメな場合は、改めてご連絡ください。できる限り協力させていただきます。

 

Excel VBA Macro

Excel DownLoad