fork download
  1. Option Explicit
  2.  
  3. Sub 別ブックのすべてのセルを取得3()
  4.  
  5. Dim startTime As Double
  6. Dim middleTime As Double
  7. Dim processTime As Double
  8.  
  9. startTime = Timer '開始時間取得
  10.  
  11. Application.ScreenUpdating = False '画面描画を停止
  12. Application.EnableEvents = False 'イベントを抑止
  13. Application.DisplayAlerts = False '確認メッセージを抑止
  14. Application.Calculation = xlCalculationManual '計算を手動に
  15.  
  16. Dim Excel As New Application
  17.  
  18. 'エクセルを不可視で開く
  19. Excel.Visible = False 'エクセル可視/不可視設定
  20. Excel.DisplayAlerts = False '警告メッセージをオフ
  21.  
  22. '------------------------------------------------------------------------ここまで
  23. '↑ここまでは上記サンプルコードと同一↑
  24. 'メイン処理0の時間をイミディエイトウィンドウに出力
  25. middleTime = Timer
  26. processTime = middleTime - startTime
  27. Debug.Print "メイン処理0の終了:"; processTime & "秒" & vbCrLf
  28. 'Call メイン処理0の終了
  29.  
  30. Dim ws As Worksheet
  31. Dim filename As String
  32. Dim mb As Workbook
  33.  
  34. '貼り付け先のブック
  35. filename = ThisWorkbook.path & "\" & "ワークシート.xlsm"
  36. Set mb = Workbooks.Open(filename)
  37.  
  38. '------------------------------------------------------------------------1ここから
  39. Dim FullPath1 As String, FullPath2 As String, FullPath3 As String, FullPath4 As String
  40. FullPath1 = "C:\Users\名前\Desktop\Excelフォルダ" & "\" & "配信スケジュール .xlsm" ' "救急患者集計.xlsm"
  41. FullPath2 = "C:\Users\名前\Desktop\Excelフォルダ" & "\" & "未納本文.xlsm" ' "救急患者集計.xlsm""未納整理簿.xlsm"
  42. FullPath3 = "C:\Users\名前\Desktop\Excelフォルダ" & "\" & "未納本文.xlsm" ' "救急患者集計.xlsm""未納整理簿.xlsm"
  43. FullPath4 = "C:\Users\名前\Desktop\Excelフォルダ" & "\" & "未納本文.xlsm" ' "救急患者集計.xlsm""未収金折衝状況表.xlsm"
  44.  
  45. FullPath1 = "D:\goo\excel\goo446\配信スケジュール.xlsm"
  46. FullPath2 = "D:\goo\excel\goo446\未納本文.xlsm"
  47. FullPath3 = "D:\goo\excel\goo446\未納本文.xlsm"
  48. FullPath4 = "D:\goo\excel\goo446\未納本文.xlsm"
  49.  
  50. Dim Fullpath As Variant
  51. Dim Frsheet As Variant
  52. Dim Tosheet As Variant
  53. Dim Title As Variant
  54. Dim i As Long
  55. Fullpath = Array(FullPath1, FullPath2, FullPath3, FullPath4)
  56. Frsheet = Array("sheet5", "未納本文", "全部1", "未納本文")
  57. Tosheet = Array("kyu", "nyu", "gai", "折衝取込")
  58. Title = Array("未納本文処理1の終了:", "全部1処理2の終了:", "未納本文処理3の終了:", "全部1をふくめた完了までの所要時間:")
  59. For i = 0 To 3
  60. Call copy_sheet(Fullpath(i), Frsheet(i), mb, Tosheet(i))
  61. middleTime = Timer
  62. processTime = middleTime - startTime
  63. Debug.Print Title(i); processTime & "秒" & vbCrLf
  64. Next
  65.  
  66. Application.Calculation = xlCalculationAutomatic '計算を自動に
  67. Application.DisplayAlerts = True '確認メッセージを開始
  68. Application.EnableEvents = True 'イベントを開始
  69. Application.ScreenUpdating = True
  70.  
  71.  
  72. Excel.DisplayAlerts = True '警告メッセージをオン
  73. Excel.Quit 'Excel終了
  74.  
  75. Set Excel = Nothing '参照を解放
  76. MsgBox "書き換えました"
  77. End Sub
  78.  
  79. Private Sub copy_sheet(ByVal Fullpath As String, ByVal Frsheet As String, ByRef mb As Workbook, ByVal Tosheet As String)
  80. Dim Fwb As Workbook
  81. Dim SourceRng As Range
  82. Dim TargetRng As Range
  83. Set Fwb = Workbooks.Open(Fullpath, ReadOnly:=True) '読取り専用で開く
  84. ActiveWindow.Visible = False
  85. Set SourceRng = Fwb.Worksheets(Frsheet).UsedRange
  86. mb.Worksheets(Tosheet).Cells.Clear
  87. Set TargetRng = mb.Worksheets(Tosheet).Range("A1")
  88. SourceRng.Copy
  89. TargetRng.PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
  90. TargetRng.PasteSpecial Paste:=xlPasteColumnWidths
  91. Application.CutCopyMode = False
  92. Fwb.Close
  93. End Sub
  94. Private Sub copy_sheet2(ByVal Fullpath As String, ByVal Frsheet As String, ByRef mb As Workbook, ByVal Tosheet As String)
  95. Dim Fwb As Workbook
  96. Dim SourceRng As Range
  97. Dim TargetRng As Range
  98. Set Fwb = Workbooks.Open(Fullpath, ReadOnly:=True) '読取り専用で開く
  99. ActiveWindow.Visible = False
  100. Set SourceRng = Fwb.Worksheets(Frsheet).UsedRange
  101. mb.Worksheets(Tosheet).Cells.Clear
  102. Set TargetRng = mb.Worksheets(Tosheet).Range("A1")
  103. SourceRng.Copy Destination:=TargetRng
  104. Fwb.Close
  105. End Sub
  106.  
  107.  
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty