Option Explicit
Sub 別ブックのすべてのセルを取得4()
Dim startTime As Double
Dim middleTime As Double
Dim processTime As Double
startTime = Timer '開始時間取得
Application.ScreenUpdating = False '画面描画を停止
Application.EnableEvents = False 'イベントを抑止
Application.DisplayAlerts = False '確認メッセージを抑止
Application.Calculation = xlCalculationManual '計算を手動に
'------------------------------------------------------------------------ここまで
'↑ここまでは上記サンプルコードと同一↑
'メイン処理0の時間をイミディエイトウィンドウに出力
middleTime = Timer
processTime = middleTime - startTime
Debug.Print "メイン処理0の終了:"; processTime & "秒" & vbCrLf
'Call メイン処理0の終了
'------------------------------------------------------------------------1ここから
Dim FullPath1 As String, FullPath2 As String, FullPath3 As String, FullPath4 As String
FullPath1 = "C:\Users\名前\Desktop\Excelフォルダ" & "\" & "配信スケジュール .xlsm" ' "救急患者集計.xlsm"
FullPath2 = "C:\Users\名前\Desktop\Excelフォルダ" & "\" & "未納本文.xlsm" ' "救急患者集計.xlsm""未納整理簿.xlsm"
FullPath3 = "C:\Users\名前\Desktop\Excelフォルダ" & "\" & "未納本文.xlsm" ' "救急患者集計.xlsm""未納整理簿.xlsm"
FullPath4 = "C:\Users\名前\Desktop\Excelフォルダ" & "\" & "未納本文.xlsm" ' "救急患者集計.xlsm""未収金折衝状況表.xlsm"
FullPath1 = "D:\goo\excel\goo446\配信スケジュール.xlsm"
FullPath2 = "D:\goo\excel\goo446\未納本文.xlsm"
FullPath3 = "D:\goo\excel\goo446\未納本文.xlsm"
FullPath4 = "D:\goo\excel\goo446\未納本文.xlsm"
Dim Fullpath As Variant
Dim Frsheet As Variant
Dim Tosheet As Variant
Dim Title As Variant
Dim i As Long
Fullpath = Array(FullPath1, FullPath2, FullPath3, FullPath4)
Frsheet = Array("sheet5", "未納本文", "全部1", "未納本文")
Tosheet = Array("kyu", "nyu", "gai", "折衝取込")
Title = Array("未納本文処理1の終了:", "全部1処理2の終了:", "未納本文処理3の終了:", "全部1をふくめた完了までの所要時間:")
For i = 0 To 3
Call copy_sheet(Fullpath(i), Frsheet(i), Tosheet(i))
middleTime = Timer
processTime = middleTime - startTime
Debug.Print Title(i); processTime & "秒" & vbCrLf
Next
Application.Calculation = xlCalculationAutomatic '計算を自動に
Application.DisplayAlerts = True '確認メッセージを開始
Application.EnableEvents = True 'イベントを開始
Application.ScreenUpdating = True
MsgBox "書き換えました"
End Sub
Private Sub copy_sheet(ByVal Fullpath As String, ByVal Frsheet As String, ByVal Tosheet As String)
Dim Fwb As Workbook
Dim SourceRng As Range
Dim TargetRng As Range
Set Fwb = Workbooks.Open(Fullpath, ReadOnly:=True) '読取り専用で開く
ActiveWindow.Visible = False
Set SourceRng = Fwb.Worksheets(Frsheet).UsedRange
ThisWorkbook.Worksheets(Tosheet).Cells.Clear
Set TargetRng = ThisWorkbook.Worksheets(Tosheet).Range("A1")
SourceRng.Copy
TargetRng.PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
TargetRng.PasteSpecial Paste:=xlPasteColumnWidths
Application.CutCopyMode = False
Fwb.Close
End Sub