Excel VBA質問箱 IV

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

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


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

【54516】画面更新をしないやりかた やす 08/3/16(日) 19:01 質問[未読]
【54525】Re:画面更新をしないやりかた VBWASURETA 08/3/17(月) 7:32 発言[未読]
【54539】Re:画面更新をしないやりかた やす 08/3/17(月) 15:04 お礼[未読]
【54526】Re:画面更新をしないやりかた ichinose 08/3/17(月) 7:57 発言[未読]
【54540】Re:画面更新をしないやりかた やす 08/3/17(月) 15:06 お礼[未読]
【54529】Re:画面更新をしないやりかた Yuki 08/3/17(月) 10:12 回答[未読]
【54541】Re:画面更新をしないやりかた やす 08/3/17(月) 15:07 お礼[未読]

【54516】画面更新をしないやりかた
質問  やす  - 08/3/16(日) 19:01 -

引用なし
パスワード
   コマンドボタンを押してエクセルファイルを読んで
処理をしたいのですが、読み込んだファイルを
画面に表示したくないのですが、その方法がわかりません。

Application.ScreenUpdating = Falseの使い方が違うのでしょうか?


Function w_read()
w_smpfile_p = Application.GetOpenFilename("Excel (*.xls), *.xls", , "ファイル読み込み")
 If w_smpfile_p <> False Then
   Application.ScreenUpdating = False
   Workbooks.Open Filename:=w_smpfile_p, UpdateLinks:=0
 End If

【54525】Re:画面更新をしないやりかた
発言  VBWASURETA  - 08/3/17(月) 7:32 -

引用なし
パスワード
   ▼やす さん:
おはようございます。

もしかして以下のようなことでしょうか?

Windows("Book2").Visible = False

【54526】Re:画面更新をしないやりかた
発言  ichinose  - 08/3/17(月) 7:57 -

引用なし
パスワード
   おはようございます。


>Application.ScreenUpdating = False
これをどこで使うかは、プログラムの構造や汎用性などを
考えると結構難しいですねえ!!


一例ですが、
新規ブックの標準モジュールに

'=======================================================
Sub main()
  Dim bk As Workbook
  Application.ScreenUpdating = False
  Set bk = bk_open(False)
  Application.ScreenUpdating = True
End Sub
'=======================================================
Function bk_open(Optional ByVal vsbl As Boolean = True) As Workbook
  Dim flnm As Variant
  Dim bkw As Window
  flnm = Application.GetOpenFilename
  Set bk_open = Nothing
  If TypeName(flnm) <> "Boolean" Then
    On Error Resume Next
    Set bk_open = Workbooks.Open(flnm)
    If Err.Number <> 0 Then
     MsgBox Err.Description
    Else
     If vsbl = False Then
       For Each bkw In bk_open.Windows
        bkw.visible = False
        Next
       End If
     End If
    on error goto 0   
    End If
End Function


検討してみてください。

【54529】Re:画面更新をしないやりかた
回答  Yuki  - 08/3/17(月) 10:12 -

引用なし
パスワード
   ▼やす さん:
>コマンドボタンを押してエクセルファイルを読んで
>処理をしたいのですが、読み込んだファイルを
>画面に表示したくないのですが、その方法がわかりません。

> If w_smpfile_p <> False Then
>   Application.ScreenUpdating = False
>   Workbooks.Open Filename:=w_smpfile_p, UpdateLinks:=0
   ActiveWindow.Visible = False
   Application.ScreenUpdating = True
> End If

2行追加してみればどうですか

【54539】Re:画面更新をしないやりかた
お礼  やす  - 08/3/17(月) 15:04 -

引用なし
パスワード
   回答頂ありがとうございます

【54540】Re:画面更新をしないやりかた
お礼  やす  - 08/3/17(月) 15:06 -

引用なし
パスワード
   ありがとうございます

【54541】Re:画面更新をしないやりかた
お礼  やす  - 08/3/17(月) 15:07 -

引用なし
パスワード
   ありがとうございます。

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