fork download
  1. Option Explicit
  2.  
  3. Sub 別ブックのすべてのセルを取得4()
  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. '------------------------------------------------------------------------ここまで
  17. '↑ここまでは上記サンプルコードと同一↑
  18. 'メイン処理0の時間をイミディエイトウィンドウに出力
  19. middleTime = Timer
  20. processTime = middleTime - startTime
  21. Debug.Print "メイン処理0の終了:"; processTime & "秒" & vbCrLf
  22. 'Call メイン処理0の終了
  23.  
  24. '------------------------------------------------------------------------1ここから
  25. Dim FullPath1 As String, FullPath2 As String, FullPath3 As String, FullPath4 As String
  26. FullPath1 = "C:\Users\名前\Desktop\Excelフォルダ" & "\" & "配信スケジュール .xlsm" ' "救急患者集計.xlsm"
  27. FullPath2 = "C:\Users\名前\Desktop\Excelフォルダ" & "\" & "未納本文.xlsm" ' "救急患者集計.xlsm""未納整理簿.xlsm"
  28. FullPath3 = "C:\Users\名前\Desktop\Excelフォルダ" & "\" & "未納本文.xlsm" ' "救急患者集計.xlsm""未納整理簿.xlsm"
  29. FullPath4 = "C:\Users\名前\Desktop\Excelフォルダ" & "\" & "未納本文.xlsm" ' "救急患者集計.xlsm""未収金折衝状況表.xlsm"
  30.  
  31. FullPath1 = "D:\goo\excel\goo446\配信スケジュール.xlsm"
  32. FullPath2 = "D:\goo\excel\goo446\未納本文.xlsm"
  33. FullPath3 = "D:\goo\excel\goo446\未納本文.xlsm"
  34. FullPath4 = "D:\goo\excel\goo446\未納本文.xlsm"
  35.  
  36. Dim Fullpath As Variant
  37. Dim Frsheet As Variant
  38. Dim Tosheet As Variant
  39. Dim Title As Variant
  40. Dim i As Long
  41. Fullpath = Array(FullPath1, FullPath2, FullPath3, FullPath4)
  42. Frsheet = Array("sheet5", "未納本文", "全部1", "未納本文")
  43. Tosheet = Array("kyu", "nyu", "gai", "折衝取込")
  44. Title = Array("未納本文処理1の終了:", "全部1処理2の終了:", "未納本文処理3の終了:", "全部1をふくめた完了までの所要時間:")
  45. For i = 0 To 3
  46. Call copy_sheet(Fullpath(i), Frsheet(i), Tosheet(i))
  47. middleTime = Timer
  48. processTime = middleTime - startTime
  49. Debug.Print Title(i); processTime & "秒" & vbCrLf
  50. Next
  51.  
  52. Application.Calculation = xlCalculationAutomatic '計算を自動に
  53. Application.DisplayAlerts = True '確認メッセージを開始
  54. Application.EnableEvents = True 'イベントを開始
  55. Application.ScreenUpdating = True
  56. MsgBox "書き換えました"
  57. End Sub
  58.  
  59. Private Sub copy_sheet(ByVal Fullpath As String, ByVal Frsheet As String, ByVal Tosheet As String)
  60. Dim Fwb As Workbook
  61. Dim SourceRng As Range
  62. Dim TargetRng As Range
  63. Set Fwb = Workbooks.Open(Fullpath, ReadOnly:=True) '読取り専用で開く
  64. ActiveWindow.Visible = False
  65. Set SourceRng = Fwb.Worksheets(Frsheet).UsedRange
  66. ThisWorkbook.Worksheets(Tosheet).Cells.Clear
  67. Set TargetRng = ThisWorkbook.Worksheets(Tosheet).Range("A1")
  68. SourceRng.Copy
  69. TargetRng.PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
  70. TargetRng.PasteSpecial Paste:=xlPasteColumnWidths
  71. Application.CutCopyMode = False
  72. Fwb.Close
  73. End Sub
  74.  
  75.  
  76.  
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty