| 
    
     |  | ▼ume さん: 
 コードアップ、ご苦労様でした。
 今から拝見させていただきますが、アップされたコードを、そのままつなぎ合わせてみますと
 たとえば Private Sub UserForm_initialize() の中で、いきなり ElseIf が登場しますね。
 これは、その上に If がないのでコンパイルエラーになるはずですが?
 
 そのほか、モジュール先頭に Option Explicit の記述(変数宣言を必須にする)をしておられませんね。
 絶対にダメということはないのですが、変数名や定数名を間違えていても気が付きません。
 たとえば、Private Sub CommandButton1_Click() の中に
 If Calendar1.Visible = Falsee Then '工事開始のお知らせ
 こんなコードがありますね。
 
 Falsee という定数値は定義されていません。False でしょうね。
 でも、変数宣言が必須になっていないのでVBAは、ここで【テンポラリーのVariant型変数】として
 自動生成します。(してくれます)で、その値は【空白】です。ですから正しい判定ができないわけですが
 コンパイルでひっからず、エラーの認識がなされないまま、不具合が出ても、なかなか気づきません。
 
 ●モジュールの先頭には、必ず Option Explict を記述し、変数はすべて定義しましょう。
 VBE画面のツール-->オプションの編集タブで編巣の宣言を強制する(R) にチェックをつけておきますと
 モジュールを挿入したときに自動的に付加されます。
 
 ●とにかく、長いコードですから、ロジックを追いかけるのも大変ですし、不具合があった場合のデバッグも
 大変ですので、まずは、このコードを、そのまま、コンパクトにするところから、こちらの作業を開始します。
 
 ●ただし、そのためにも、Private Sub UserForm_initialize() の中で、いきなり ElseIf が登場している
 ところ等、そちらで確認の上、正しいコードがどうなっているのか、教えていただけますか?
 
 
 |  |