Excel VBA質問箱 IV

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

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


4707 / 13644 ツリー ←次へ | 前へ→

【55014】ユーザーフォームについて ホワイト 08/4/11(金) 13:39 質問[未読]
【55018】Re:ユーザーフォームについて マクロマン 08/4/11(金) 14:31 発言[未読]
【55019】Re:ユーザーフォームについて ホワイト 08/4/11(金) 14:57 発言[未読]
【55022】Re:ユーザーフォームについて マクロマン 08/4/11(金) 15:08 発言[未読]
【55020】Re:ユーザーフォームについて ホワイト 08/4/11(金) 15:05 お礼[未読]

【55014】ユーザーフォームについて
質問  ホワイト  - 08/4/11(金) 13:39 -

引用なし
パスワード
   Book1でユーザーフォームを作成して使用中、
Book2を新規に立ち上げ色々と作業していると、
Book1のユーザーフォームが手前に表示されてしまいます。

Book1は色々な計算を行うための計算プログラムを作っており、
ユーザーフォームはそのブックのみで使用しています。
(シートを複数作っていて、用意に移動可能なように
基本的なボタン(特定シートへのジャンプなど)を配置)

よって、Book2でそのユーザーフォームが立ち上がると
ちょっと邪魔です・・・

イメージとしては、Book1の操作中はユーザーフォームを立ち上げておき、
それ以外のブックでは手前に表示されないようにしたいです。

良い方法がないか教えて頂けると助かります。

【55018】Re:ユーザーフォームについて
発言  マクロマン  - 08/4/11(金) 14:31 -

引用なし
パスワード
   Book1のThisWorkbookモジュールに
↓を記述してみてください。

Private Sub Workbook_Activate()
UserForm1.Show 0
End Sub

Private Sub Workbook_Deactivate()
UserForm1.Hide
End Sub

ブックが非アクティブになったときに
ユーザーフォームを隠し、アクティブ
になったときにユーザーフォームを
表示します。

【55019】Re:ユーザーフォームについて
発言  ホワイト  - 08/4/11(金) 14:57 -

引用なし
パスワード
   ▼マクロマン さん:

早速のアドバイスありがとうございます。

サンプルファイルでテストしたら
何のことはなく動作しました・・・

> UserForm1.Show 0

Show "0" ← ゼロを入れるだけなんですね・・・

本には載っていなく
ネットで検索したら
"0"以外にもある?ようですが、
いまいち分かりませんでした・・・

少しだけ解説して頂けないでしょうか・・・

【55020】Re:ユーザーフォームについて
お礼  ホワイト  - 08/4/11(金) 15:05 -

引用なし
パスワード
   ▼マクロマン さん:

上記の件、自己解決しました!
ありがとうございました!

【55022】Re:ユーザーフォームについて
発言  マクロマン  - 08/4/11(金) 15:08 -

引用なし
パスワード
   解決後ですが・・・・。
書いてしまったのでそのままアップします。

>Show "0" ← ゼロを入れるだけなんですね・・・

自分でも気付いてませんでした。
いつもユーザーフォームをモードレス表示してるので。

UserForm1.Show
だとユーザーフォームがモーダル表示されます。
UserForm1.Show 0
だとモードレス表示になります。

モーダル表示のときは、ユーザーフォームを表示している
間はシートの編集が出来ません。

モードレス表示だと、ユーザーフォームを表示しながら
シート
の操作が出来ます。


UserForm1.Show 0

UserForm1.Show vbModeless
と同じ意味です。

また、ユーザーフォームのプロパティで
「ShowModal」を「False」にしても
ユーザーフォームをモードレス表示できます。

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