copy sheet từ các file khác về file tổng

Liên hệ QC

mrhackgm

Thành viên chính thức
Tham gia
30/1/10
Bài viết
80
Được thích
-11
Kính chào các cụ,

xin mạn phép nhờ các cụ giúp copy sheet từ các file khác về file tổng.
các file khác cùng folder file tổng, tên file có dạng xyz.xls [chạy từ 000.xls đến 500.xls]
các sheet trong file khác có dạng như tên file [chạy từ 000.xls đến 500.xls]
file tổng có tên là 1.RT.xlsm

xin cảm ơn ạ

Sub consol1()

Dim i As Integer
Dim wkbSource As Workbook
Dim wkbDest As Workbook
Dim shttocopy As Worksheet
Dim wbname As String
'Dim sheetnamek As String


For i = 0 To 500
Application.Workbooks("C:\Users\Desktop\draft1\statistic1\n.variable\OMSdetail\1.RT.xlsm").Worksheets("Sheet1").Range("ar1").Value = i
Application.Workbooks("C:\Users\Desktop\draft1\statistic1\n.variable\OMSdetail\1.RT.xlsm").Worksheets("Sheet1").Range("AT1").FormulaR1C1 = "=""C:\Users\Desktop\draft1\statistic1\n.variable\OMSdetail\R""&RIGHT(TEXT(RC[-2],""000#""),3)&"".xls"""

Set wkbSource = Application.Workbooks(Range("AT1").Value)
Set wkbDest = Application.Workbooks("C:\Users\Desktop\draft1\statistic1\n.variable\OMSdetail\1.RT.xlsm")
Set shttocopy = (Range("AT2").Value)

'bat dau copy
wkbSource.Sheets(shttocopy).Copy After:=wkbDest.Sheets(Sheets.Count)

Next i

End Sub
 
thấy co cụ pm riêng hỏi thăm, nhưng e nghĩ nên public để đúng tinh thần 4r là học hỏi.
theo các cụ code này đã tối ưu chưa ạ? Xin cảm ơn các cụ

Sub consol12()

Dim i As Integer

For i = 0 To 500
Range("ar1").Value = i
Range("AT1").FormulaR1C1 = "=""C:\Users\Desktop\draft1\statistic1\n.variable\OMSdetail\R""&RIGHT(TEXT(RC[-2],""00#""),3)&"".xls"""
Workbooks.Open Filename:=(Range("AT1").Value)
Application.CutCopyMode = False
Sheets.Copy before:=Workbooks("1.RT.xlsm").Sheets(Sheets.Count)
ActiveWorkbook.Save

Next i

End Sub

trong đó Ar1= i AT1= link file nguồn 000->500 At2 = tên sheet
 
Web KT

Bài viết mới nhất

Back
Top Bottom