Tổng hòa hợp tài liệu từ không ít tệp tin excel vào 1 tệp tin không yêu cầu msinh hoạt file​

Bài toán đưa ra nhỏng sau: Mình lúc như thế nào cũng biến thành gồm 5 tệp tin tài liệu (mỗi tệp tin khoảng tầm 2000-5000 mẫu dữ liệu), tải về trực tiếp mỗi ngày trường đoản cú VPS cùng với định hình định sẵn dưới định hình .xls (số cột và vị trí cột định sẵn theo mẫu mã đi kèm là những tệp tin CA1, CA2, CA3, CA4, CA5). Mình phải tổng thích hợp lại 5 file vào 1 file độc nhất (như mẫu mã gắn kèm) trong những số ấy du liệu của những file CA1, CA2, CA3, CA4, CA5 đang thông suốt nhau ghep vào 1 sheet theo như đúng cột tương ứng. Để tổng phù hợp đc nhưng k đề nghị mnghỉ ngơi cả 5 tệp tin lên là cực tốt (nhỏng vẻ bên ngoài paste links cùng có linh external data vậy).Bài tân oán bên trên chỉ là 1 giữa những nhu yếu của khá nhiều tín đồ về vấn đề có tác dụng chũm như thế nào để tổng hợp dữ liệu từ nhiều tệp tin Excel khác nhau vào phổ biến một file.

Bạn đang xem: Tổng hợp dữ liệu từ nhiều file excel vào 1 file không cần mở file

*
"title=""width="" height="" loading="lazy" />

Xem thêm: Cách Lấy Lại Mật Khẩu Fb Bằng Số Điện Thoại Và Email, Cách Lấy Lại Mật Khẩu Facebook Bằng Số Điện Thoại

Function GetData(ByVal FileName As String, ByVal SheetName As String, ByVal RangeAddress As String, _ ByVal HasTitle As Boolean, ByVal UseTitle As Boolean) Dlặng rsCon As Object, rsData As Object, cát As Object, tbl As Object Dim tmpArr, Arr() Dlặng szConnect As String, szSquốc lộ As String, tmp As String Dyên ổn lCount As Long, lR As Long, lC As Long, lVer As Long lVer = Val(Application.Version) Set rsCon = CreateObject("ADODB.Connection") Set rsData = CreateObject("ADODB.Recordset") Set mèo = CreateObject("ADOX.Catalog") If lVer "$" Then SheetName = SheetName và "$" rsCon.mở cửa szConnect cat.ActiveConnection = rsCon szSQL = "SELECT * FROM <" & SheetName & RangeAddress và ">;" rsData.Open szSquốc lộ, rsCon, 0, 1, 1 tmpArr = rsData.GetRows ReDyên Arr(UBound(tmpArr, 2) - UseTitle, UBound(tmpArr, 1) + 1) If UseTitle Then For lC = LBound(tmpArr, 1) To UBound(tmpArr, 1) Arr(0, lC) = rsData.Fields(lC).Name Next End If For lR = LBound(tmpArr, 2) To UBound(tmpArr, 2) For lC = LBound(tmpArr, 1) To UBound(tmpArr, 1) Arr(lR - UseTitle, lC) = tmpArr(lC, lR) Next Next rsData.Close: Set rsData = Nothing rsCon.Close: Set rsCon = Nothing GetData = ArrEnd FunctionSub Main() Dim vFile, FileItem, aRes, Target As Range Dim FileName As String, SheetName As String, RangeAddress As String On Error Resume Next vFile = Application.GetOpenFilename("Excel File, *.xls; *.xlsx; *.xlsm", , , , True) If TypeName(vFile) = "Variant()" Then SheetName = "Sheet1": RangeAddress = "A8:V10000" For Each FileItem In vFile FileName = CStr(FileItem) If UCase(FileName) UCase(ThisWorkbook.FullName) Then aRes = GetData(FileName, SheetName, RangeAddress, False, False) If IsArray(aRes) Then Set Target = Sheet1.Range("A60000").End(xlUp).Offset(1) Target.Resize(UBound(aRes, 1) + 1, UBound(aRes, 2) + 1).Value = aRes End If End If Next MsgBox "Done!" End IfEnd Sub
Cách dùng:- Cho code trên vào Module- Chạy sub Main- Cửa sổ xuất hiện File hiện ra, dùng con chuột lựa chọn file đầu, bấm giữ phím Shift rồi còn file cuối ---> Bnóng nút ít Open- Chờ trong giây lát, Khi MsgBox hiện ra thông tin hoàn chỉnh, chất vấn lại dữ liệu trong tệp tin hiện nay hành coi đang cập nhật chưa-------------Lưu ý: File TongHop phải được lưu lại theo format XLSM (nếu như lưu bằng XLSX vẫn mất sạch sẽ code). Hình như, các bạn cũng xem xét đoạn sơn đậm A8:V10000 sơn đậm bên trên đó là can hệ rước dữ liệu. Nếu tài liệu của chúng ta bước đầu từ bỏ A2 đến F100 chẳng hạn, bạn có thể sửa thành A2:F100 nhằm bảo đảm sự đúng đắn.Chúc chúng ta thành công!Một số nội dung bài viết có liên quan:1/ Làm giải pháp làm sao nhằm ghi crúc công dụng trong VBA?2/ Conditional Formatting mang lại biểu thứ bởi VBA3/ Khi làm sao yêu cầu áp dụng Msgbox, Inputbox với Userform?4/ 8 thủ thuật vào VBE chúng ta nên biết5/ Kích hoạt macro từ nút ít bnóng xung quanh bảng tính6/ Làm gắng làm sao để sửa chữa thay thế các chữ OK, CANCEL,... rầu rĩ của Msgbox7/ Giới thiệu VBA vào Excel8/ Viết code để nhìn thấy ai là fan update bảng tính của doanh nghiệp lần vừa mới đây nhất9/ 4 cách áp dụng Immediate Window trong VBA tác dụng hơn10/ 3 lưu ý bé dại đưa về thành công xuất sắc vào knhì báo trở thành trong VBA
Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *