[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『カレンダーを表示』(まつや)
セルをクリックしてカレンダーをVBAで表示するようにしたのですが、×ボタンを押して消えるようになっています。 他のセルをクリックしてカレンダーが消えるようにできますでしょうか??
Private Sub Worksheet_SelectionChange(ByVal target As Range) ' 複数セル選択時は無視 If target.Count <> 1 Then Exit Sub 'A4,E4,A14:A39,I57,クリック時のみ If Not Intersect(target, Range("C4, E4,A14:A39,I57")) Is Nothing Then ' カレンダーフォームを起動する Call ShowCalendarFromRange(target) End If End Sub
Sheet1に記述している内容です。 宜しくお願いします。
カレンダーフォームとはなんですか? ユーザーフォームで作ったカレンダーでしょうか? ShowCalendarFromRange や、その先のコードがどうなっているのかも見てみたいですね。 (momo)
あ、わかりました http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_100_100.html こちらのフォームですね。
ShowCalendarFromRange の中に .Show という所があるので、そこを .Show vbModeless に変更して、Sheetのコードは
Private Sub Worksheet_SelectionChange(ByVal target As Range) ' 複数セル選択時は無視 If target.Count <> 1 Then Exit Sub 'A4,E4,A14:A39,I57,クリック時のみ If Not Intersect(target, Range("C4, E4,A14:A39,I57")) Is Nothing Then ' カレンダーフォームを起動する Call ShowCalendarFromRange(target) Else ’★追加 Unload FRM_CALENDAR ’★追加 End If End Sub
にしてみるとどうでしょうか? (momo)
そうです。 最初はどういうことでしょうか? (まつや)
> 最初はどういうことでしょうか? ごめんなさい、何を聞かれているのか解らないのですが (momo)
> 最初 ↓ >>ShowCalendarFromRange の中に >>.Show >>という所があるので
が、見つけられないのでは?
(HANA)
そうです。説明不足で申し訳ございません。 (まつや)
HANAさんフォローありがとうございます。
ShowCalendarFromRangeプロシージャをコールしているのですから どこかにShowCalendarFromRangeというプロシージャがありますよね?
F8でステップ実行すれば見つかりますし Ctrl+Fで対象をカレントプロジェクト、検索文字にShowCalendarFromRange とすれば、見つかると思います。
そのプロシージャの中ほどよりちょっと下あたりに .Show があると思います。
または.Showで検索しても良いかもしれませんね
HPなどで、ありがたく無償で頂いたコードもただ使うだけじゃなくて コードをちゃんと読んで理解される事をお勧めします。 ユーザーフォームを扱っているプロジェクトでShowをどこでしているか解らないというのは 今後のためにも良くないですよ。 (momo)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.