Excel VBA質問箱 IV

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

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


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

【4926】ユーザーフォームの画面の残像が残ります。 めぎゅ 03/4/14(月) 12:06 質問
【4936】Re:ユーザーフォームの画面の残像が残ります... Jaka 03/4/14(月) 17:22 回答
【4992】ありがとうございます。 めぎゅ 03/4/16(水) 17:20 お礼

【4926】ユーザーフォームの画面の残像が残ります。
質問  めぎゅ E-MAIL  - 03/4/14(月) 12:06 -

引用なし
パスワード
   ユーザーフォームを表示した後、データ処理を行うPGになっています。
が、どうも、処理終了後も、ユーザーフォームの残像が残ってしまいます。

しかも、ユーザーフォームにてコンボボックスから選択した際も、
フォーム画面からはみでたコンボボックスの残像も残ってしまいます。

フォーム表示を、ループで繰り返しているからでしょうか?
プログラムは下記のようになっています。


Sub 実行ボタンクリック()

Application.ScreenUpdating = False
 
  'コンボBOXで選択されたグループをリストボックスに取得する。
  scmbFolderName = wsSagyo.cmbFileName.Value
  MyFolderName = wsSagyo.txtFolderName.Value
  'コンボBOXと、一緒だったら、
  If scmbFolderName = MyFolderName Then
    MyFilePATH = scmbFolderName
  Else
    MyFilePATH = MyFolderName & scmbFolderName & "\"
  End If
 
  '読み込む列の指定
  vntColm = Array(1, 0, 2, 3, 4)
  '書き込み用配列の確保
  ReDim vntWrite(UBound(vntColm))
 
  '自分のファイル名を取得
  sMybook_name = ActiveWorkbook.Name

  'リストボックスにチェックがついているテキストを読み込む
  For iList_cnt = 0 To wsSagyo.lstFileName.ListCount - 1
    If wsSagyo.lstFileName.Selected(iList_cnt) = True Then
      '読み込むファイル名を格納する。
      vntFileName = wsSagyo.lstFileName.List(iList_cnt)
      dfn = FreeFile
      Open CStr(MyFilePATH & vntFileName) For Input As dfn
        usrFome.lblFileName.Caption = vntFileName
        'ユーザーフォームを表示
        usrFome.Show
        Unload usrFome

         If sSheetName = "" Then
          MsgBox "作成シート先が選択されていません。"
          End
         End If
        ファイル書き込み
    End If
  Next iList_cnt
  
MsgBox "終了"


Application.ScreenUpdating = True
Application.StatusBar = False

End Sub

【4936】Re:ユーザーフォームの画面の残像が残りま...
回答  Jaka  - 03/4/14(月) 17:22 -

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

Application.ScreenUpdating = False は、画面の更新を止めます。
場所を考えて入れるか、場所を考えてTrueに戻せば良いと思いますけど。
ついでにDoeventsも入れたほうが良いかも...。

【4992】ありがとうございます。
お礼  めぎゅ E-MAIL  - 03/4/16(水) 17:20 -

引用なし
パスワード
   こんにちは。
早速の回答ありがとうございます!

>Application.ScreenUpdating = False は、画面の更新を止めます。
>場所を考えて入れるか、場所を考えてTrueに戻せば良いと思いますけど。

確かにそのとおりでした。
ここが悪さをしているんですが・・・ね。
どこでどう戻すべきなのか、、、ちょっと難しいです。
むむむ・・・。

ともかく解決!

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