snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Sub mergefile()
Dim wball As Range, wb As Range
Dim path As String
Dim f_name As String
Dim gsd, mnth As String
Dim i As Integer
With Sheets("filename")
Set wball = .Range("A1", .Range("A" & Rows.Count).End(xlUp))
f_name = .Range("E7").Value
path = .Range("E2").Value
End With
For Each wb In wball
Workbooks.Open Filename:= _
path & wb.Value
'ต้องการเช็คว่า workbook ที่เปิดมามีชีท Report และ Summary หรือไม่-----------
'ถ้าไม่ ให้ปิด workbookนั้นๆ และ เปิด workbook ตัวถัดไป
-------------------------------------------------------------------------------------
'Run function--------------------------
Windows(wb.Value).Activate
Sheets("Summary").Select
Range("A3:H18").Select
Selection.Copy
Windows(f_name).Activate
Sheets("Masterfile").Range("A" & Rows.Count).End(xlUp).Offset(1, 4).Select
'paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows(wb.Value).Close
--------------------------------------------
Next wb
MsgBox ("DONE")
End Sub