Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


21139 / 76732 ←次へ | 前へ→

【60996】UserFormのCalenderを使った質問
質問  Porta  - 09/4/1(水) 21:28 -

引用なし
パスワード
   また質問させていただきます。よろしくお願いします。
余り良い質問ではないかも知れません・・・どうも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

1 hits

【60996】UserFormのCalenderを使った質問 Porta 09/4/1(水) 21:28 質問
【61003】Re:UserFormのCalenderを使った質問 neptune 09/4/2(木) 10:42 発言
【61004】Re:UserFormのCalenderを使った質問 Jaka 09/4/2(木) 10:42 発言
【61005】Re:UserFormのCalenderを使った質問 neptune 09/4/2(木) 10:57 発言
【61006】Re:UserFormのCalenderを使った質問 Jaka 09/4/2(木) 11:38 発言
【61007】Re:UserFormのCalenderを使った質問 neptune 09/4/2(木) 15:38 発言
【61014】Re:UserFormのCalenderを使った質問 Jaka 09/4/3(金) 12:51 発言

21139 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free