あるディレクトリにあるすべてのファイルを開いて必要個所をコピーし、一つのブックにまとめる作業をしています。
しかしこの作業が非常に時間がかかります。フォルダ内50程度のファイルでも1~2分。最終的に1000ファイル位を扱うことを考えると、少しでも高速化したいところです。どなたかお知恵を拝借できませんか。
大変失礼しました。
Application.ScreenUpdating = False
Application.ScreenUpdating = True
のセットが抜けておりました。描写非表示でなおかつ高速化の手順があればご教示願います。
VBA
1Sub 各ブック必要個所集合() 2 Application.DisplayAlerts = False 3 4 Dim dlg As FileDialog 5 Dim fold_path As String, i As String 6 7 Set dlg = Application.FileDialog(msoFileDialogFolderPicker) 8 9 ' キャンセルクリック処理 10 If dlg.Show = False Then Exit Sub 11 12 ' フォルダフルパスを変数格納 13 fold_path = dlg.SelectedItems(1) 14 15 Set mb = ThisWorkbook 16 myfdr = ThisWorkbook.Path 17 fname = Dir(fold_path & "*.xls") 18 Do Until fname = Empty 19 If fname <> mb.Name Then 20 Application.EnableEvents = False 21 Set wb = Workbooks.Open(fold_path & "\" & fname) 22 Application.EnableEvents = True 23 24 Sheets("あああああ").Visible = True 25 26 Worksheets("あああああ").Select 27 Range("e2:e633").Copy 28 mb.Activate 29 Worksheets("いいいいい").Select 30 Cells(1, 10000).End(xlToLeft).Offset(0, 1).Select 31 ActiveCell.Value = x & wb.Name 32 ActiveCell.Offset(1, 0).PasteSpecial xlPasteAll 33 wb.Close 34 End If 35 fname = Dir 36 Loop 37 38End Sub

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/21 10:25