Excel VBA質問箱 IV

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

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


10833 / 13646 ツリー ←次へ | 前へ→

【19655】ユーザフォームについて やま 04/11/12(金) 23:56 質問[未読]
【19656】Re:ユーザフォームについて Kein 04/11/12(金) 23:58 回答[未読]
【19659】Re:ユーザフォームについて やま 04/11/13(土) 0:44 質問[未読]
【19662】Re:ユーザフォームについて Kein 04/11/13(土) 1:42 回答[未読]
【19663】Re:ユーザフォームについて Kein 04/11/13(土) 1:44 発言[未読]
【19666】Re:ユーザフォームについて やま 04/11/13(土) 12:44 お礼[未読]
【19657】Re:ユーザフォームについて Asaki 04/11/13(土) 0:00 回答[未読]
【19660】Re:ユーザフォームについて やま 04/11/13(土) 0:45 質問[未読]
【19661】Re:ユーザフォームについて Asaki 04/11/13(土) 1:19 回答[未読]
【19667】Re:ユーザフォームについて やま 04/11/13(土) 12:46 お礼[未読]

【19655】ユーザフォームについて
質問  やま  - 04/11/12(金) 23:56 -

引用なし
パスワード
   たまにこのサイトを見させて頂いてます
EXCEL VBAの初心者です

表示されたユーザフォームの上のすみをつかんで
ドラッグアンドドロップすると同じユーザフォームが
ふたつになってしまいます
(同じことをするといくつにも増えていきます)

これは、作成したプログラムコードに問題が
あるのでしょうか

よろしくお願いします

【19656】Re:ユーザフォームについて
回答  Kein  - 04/11/12(金) 23:58 -

引用なし
パスワード
   ScreenUpdating = False の状態だと、そのように画像が重なってしまいます。

【19657】Re:ユーザフォームについて
回答  Asaki  - 04/11/13(土) 0:00 -

引用なし
パスワード
   こんばんは。

>ドラッグアンドドロップすると同じユーザフォームが
>ふたつになってしまいます
>(同じことをするといくつにも増えていきます)
そんなことないでしょう。
1つしかないにも拘わらず、複数表示しているように見えるだけでは?

何か処理したときに、
Application.ScreenUpdating=False
のままにしているなどでは?

【19659】Re:ユーザフォームについて
質問  やま  - 04/11/13(土) 0:44 -

引用なし
パスワード
   ▼Kein さん:
>ScreenUpdating = False の状態だと、そのように画像が重なってしまいます。

さっそくの回答ありがとうございます

シート移動する処理があるため、標準モジュールの頭で
Falseにしています
(画面のちらつきを防ぐためです)

trueにするタイミングを教えてください

【19660】Re:ユーザフォームについて
質問  やま  - 04/11/13(土) 0:45 -

引用なし
パスワード
   ▼Asaki さん:
>こんばんは。
>
>>ドラッグアンドドロップすると同じユーザフォームが
>>ふたつになってしまいます
>>(同じことをするといくつにも増えていきます)
>そんなことないでしょう。
>1つしかないにも拘わらず、複数表示しているように見えるだけでは?
>
>何か処理したときに、
>Application.ScreenUpdating=False
>のままにしているなどでは?

さっそくの回答ありがとうございます

シート移動する処理があるため、標準モジュールの頭で
Falseにしています
(画面のちらつきを防ぐためです)

trueにするタイミングを教えてください

【19661】Re:ユーザフォームについて
回答  Asaki  - 04/11/13(土) 1:19 -

引用なし
パスワード
   基本的には、処理を挟むように設定します。

Application.ScreenUpdating = False
'処理
Application.ScreenUpdating = True

【19662】Re:ユーザフォームについて
回答  Kein  - 04/11/13(土) 1:42 -

引用なし
パスワード
   使っているコードを提示してもらわないと、ナンとも言えませんが、例えば
UserForm1.Show の前に ScreenUpdating = True に戻せばいいわけだから、
UserForm_Initializeイベントマクロの、最後のところにでも書いておくとか・・。
そしてUserForm.Hideした後とか、Unloadした後に、再び = False にすれば
いいでしょう。イベントなら UserForm_Terminate などに書きます。

【19663】Re:ユーザフォームについて
発言  Kein  - 04/11/13(土) 1:44 -

引用なし
パスワード
   あ、もちろん一連のマクロの最後には、= True にしておくことをお忘れなく。

【19666】Re:ユーザフォームについて
お礼  やま  - 04/11/13(土) 12:44 -

引用なし
パスワード
   ▼Kein さん:
>あ、もちろん一連のマクロの最後には、= True にしておくことをお忘れなく。

問題解決しました

ありがとうございました

【19667】Re:ユーザフォームについて
お礼  やま  - 04/11/13(土) 12:46 -

引用なし
パスワード
   ▼Asaki さん:
>基本的には、処理を挟むように設定します。
>
>Application.ScreenUpdating = False
>'処理
>Application.ScreenUpdating = True

問題解決しました

ありがとうございました

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