Advertisement
Guest User

Untitled

a guest
Jul 20th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.67 KB | None | 0 0
  1. Sub Test() '批量讀取
  2.  
  3. Dim i As Integer, iRow As Integer, iRow2 As Integer
  4. Dim strPath, Filename, Search_Fullname As String
  5. Dim TheSheet, TheSheet2, CurrentSheet, CurrentSheet2 As Worksheet
  6. Dim Coll_Docs As New Collection
  7. Dim activeSheetName As String
  8. Dim activeSheetName2 As String
  9. iRow = 1
  10. iRow2 = 1
  11. Set TheSheet = ActiveWorkbook.Worksheets("新表格(直接貼上)") '拷貝到的檔案工作表
  12. Set TheSheet2 = ActiveWorkbook.Worksheets("新表格(直接貼上) (2)") '拷貝到的檔案工作表
  13. strPath = "C:\Users\Joe_Hsu\Desktop\成品檢驗紀錄表_檢驗完成" '拷貝來源資料路徑
  14. Filename = "*.xlsx" '選取之副檔名
  15. Set Coll_Docs = Nothing
  16.  
  17. DocName = Dir(strPath & "/" & Filename)
  18.  
  19. Do Until DocName = ""
  20. Coll_Docs.Add Item:=DocName
  21. DocName = Dir
  22. Loop
  23.  
  24. For i = Coll_Docs.Count To 1 Step -1
  25. Search_Fullname = strPath & "/" & Coll_Docs(i)
  26. Workbooks.Open (Search_Fullname)
  27. activeSheetName = "Mechanical inspection report" '順序排列的第n個工作表名稱
  28. Set CurrentSheet = ActiveWorkbook.Worksheets(activeSheetName)
  29. CurrentSheet.Activate
  30. CurrentSheet.UsedRange.Copy
  31. TheSheet.Activate
  32. 'While TheSheet.range("A" & iRow).Value <> ""
  33. ' TheSheet.Cells(iRow, 1) = iRow
  34. ' iRow = iRow + 1
  35. 'Wend
  36.  
  37. TheSheet.range("A" & iRow).Select
  38. ActiveSheet.Paste
  39. ActiveWorkbook.Save
  40. activeSheetName2 = "Phot" '順序排列的第n個工作表名稱
  41. Set CurrentSheet2 = ActiveWorkbook.Worksheets(activeSheetName2)
  42. CurrentSheet2.Activate
  43. CurrentSheet2.UsedRange.Copy
  44. TheSheet2.Activate
  45. While TheSheet2.range("A" & iRow2).Value <> ""
  46. TheSheet2.Cells(iRow2, 1) = iRow2
  47. iRow2 = iRow2 + 1
  48. Wend
  49.  
  50. TheSheet2.range("A" & iRow2).Select
  51. 'Sheets(activeSheetName2).Select
  52. 'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  53. :=False, Transpose:=False
  54. ActiveSheet.Paste
  55. ActiveWorkbook.Save
  56.  
  57. Workbooks(Workbooks.Count).Close
  58. 總成轉換_直接貼上 '每一個檔案貼上後需執行的動作模組
  59. Next i
  60.  
  61. End Sub
  62. -----------------------------------------------------------------------------------------------
  63. 去除其中一個項目後
  64. Sub Test() '批量讀取
  65.  
  66. Dim i As Integer, iRow As Integer, iRow2 As Integer
  67. Dim strPath, Filename, Search_Fullname As String
  68. Dim TheSheet, TheSheet2, CurrentSheet, CurrentSheet2 As Worksheet
  69. Dim Coll_Docs As New Collection
  70. Dim activeSheetName As String
  71. Dim activeSheetName2 As String
  72. iRow = 1
  73. iRow2 = 1
  74. Set TheSheet = ActiveWorkbook.Worksheets("新表格(直接貼上)") '拷貝到的檔案工作表
  75. Set TheSheet2 = ActiveWorkbook.Worksheets("新表格(直接貼上) (2)") '拷貝到的檔案工作表
  76. strPath = "C:\Users\Joe_Hsu\Desktop\成品檢驗紀錄表_檢驗完成" '拷貝來源資料路徑
  77. Filename = "*.xlsx" '選取之副檔名
  78. Set Coll_Docs = Nothing
  79.  
  80. DocName = Dir(strPath & "/" & Filename)
  81.  
  82. Do Until DocName = ""
  83. Coll_Docs.Add Item:=DocName
  84. DocName = Dir
  85. Loop
  86.  
  87. For i = Coll_Docs.Count To 1 Step -1
  88. Search_Fullname = strPath & "/" & Coll_Docs(i)
  89. Workbooks.Open (Search_Fullname)
  90. activeSheetName = "Mechanical inspection report" '順序排列的第n個工作表名稱
  91. Set CurrentSheet = ActiveWorkbook.Worksheets(activeSheetName)
  92. CurrentSheet.Activate
  93. CurrentSheet.UsedRange.Copy
  94. TheSheet.Activate
  95. 'While TheSheet.range("A" & iRow).Value <> ""
  96. ' TheSheet.Cells(iRow, 1) = iRow
  97. ' iRow = iRow + 1
  98. 'Wend
  99.  
  100. TheSheet.range("A" & iRow).Select
  101. ActiveSheet.Paste
  102. ActiveWorkbook.Save
  103. activeSheetName2 = "Phot" '順序排列的第n個工作表名稱
  104. Set CurrentSheet2 = ActiveWorkbook.Worksheets(activeSheetName2)
  105. CurrentSheet2.Activate
  106. CurrentSheet2.UsedRange.Copy
  107. TheSheet2.Activate
  108. While TheSheet2.range("A" & iRow2).Value <> ""
  109. TheSheet2.Cells(iRow2, 1) = iRow2
  110. iRow2 = iRow2 + 1
  111. Wend
  112. Workbooks(Workbooks.Count).Close
  113. 總成轉換_直接貼上 '每一個檔案貼上後需執行的動作模組
  114. Next i
  115.  
  116. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement