|    | 
     また質問させていただきます。よろしくお願いします。 
余り良い質問ではないかも知れません・・・どうもProfesionalで 
ないと出来ないようですが・・・ 
 
「ユーザフォームのツールボックスのコントロール」に 
その他のコントロールの中の 
Calender(Microsoftの綴りが間違っています、正しくは 
Calendarですが)を追加しております。 
 
このカレンダーを使い 
・・・・2009年3月1日未満の時はMsgBoxでデータの無い旨表示 
また2019年3月31日を越える時にMsgBoxでデータの無い旨の表示し 
尚且つ、カレンダーもそれ以上動作できないようにしたいのですが、 
どのようなコードが適切なのか判断できません。 
どなたかアドバイスお願いします。 
 
また当コードを実行すると、 
「このアプリケーションは、安全でない可能性があるActiveXコントロールを 
初期化しています。・・・・・」が 
表示されます。この表示を出さない方法はあるのでしょうか? 
 
Option Explicit 
 
Private Sub Calender1_SelectDateChanged(ByVal year As Integer, ByVal  
month As Integer, ByVal day As Integer) 
 Dim r As Range 
 Dim c As Range, c2 As Range 
 Dim n As Integer 
 Dim m 
 
  '    [A6]セルに先頭日付 
 Set r = Range("A6", Cells(Rows.Count, "A").End(xlUp)) 
 m = Application.Match(CLng(DateSerial(year, month, day)), r, 1) 
  
 On Error Resume Next 
 Set c = r.Item(m, 1) 
  
 If c.Value < CLng(DateSerial(2003, 4, 1 - 1)) Then 
   MsgBox "対象外の日にちです" 
   Cells(6, 1).Activate 
  ' カレンダーが最小値より小さくならずに止まる方法? 
   Calender1.c.Value = False 
   Exit Sub 
 End If 
  
' If c.Value < CLng(DateSerial(2009, 3, 1)) Then 
'   MsgBox "対象外の日にちです" 
'   Exit Sub 
' End If 
  
 Set c2 = r.Item(m + 15, 1) ’シートの中央にできるだけ表示 
 c.Activate 
  Application.Goto Reference:=Range(c2), _ 
    Scroll:=True 
 On Error GoTo 0 
 
End Sub 
 | 
     
    
   |