Lấy dữ liệu từ nhiều file cùng 1 lúc!

Liên hệ QC

duy199922

Thành viên mới
Tham gia
24/8/20
Bài viết
9
Được thích
3
Em chào anh chị, em có làm 1 đoạn code VBA lấy dữ liệu từ 1 file excel đang đóng bất kì để dán vào file mình cần ( cụ thể là file TEST), giờ em muốn có thể chọn nhiều file cùng 1 lúc ( các file đều có cấu trúc cột giống nhau nhưng số lượng dòng khác nhau) thì em nên làm thế nào ạ. Code em để trong Modules. Xin được giúp đỡ!
 

File đính kèm

Em chào anh chị, em có làm 1 đoạn code VBA lấy dữ liệu từ 1 file excel đang đóng bất kì để dán vào file mình cần ( cụ thể là file TEST), giờ em muốn có thể chọn nhiều file cùng 1 lúc ( các file đều có cấu trúc cột giống nhau nhưng số lượng dòng khác nhau) thì em nên làm thế nào ạ. Code em để trong Modules. Xin được giúp đỡ!
1. Khai báo 1 mảng toàn cục arr
2. Chỗ .AllowMultiSelect = False đổi thành .AllowMultiSelect = True
3. Đoạn: If .Show = True Then ... End If
đổi thành
If .Show = True Then
Dim fPath As Variant
For Each fPath In .SelectedItems
ir = ir + 1
ReDim Preserve arr(1 To ir)
arr(ir) = fPath
Next
End If

4. Sử dụng vòng lặp mở hết các đường dẫn chứa trong mảng arr để làm
 
1. Khai báo 1 mảng toàn cục arr
2. Chỗ .AllowMultiSelect = False đổi thành .AllowMultiSelect = True
3. Đoạn: If .Show = True Then ... End If
đổi thành
If .Show = True Then
Dim fPath As Variant
For Each fPath In .SelectedItems
ir = ir + 1
ReDim Preserve arr(1 To ir)
arr(ir) = fPath
Next
End If

4. Sử dụng vòng lặp mở hết các đường dẫn chứa trong mảng arr để làm
Cảm ơn Maika8008 nhiều nha!!
 
Không có chi. Mới sơ khởi vậy, vẫn còn nhiều việc để lấy code cũ cho vào code mới lắm.
Mã:
Option Explicit
Dim arr()

Public Sub layduongdan()
Dim filedlg As FileDialog, e
Dim ir As Long
Set filedlg = Application.FileDialog(msoFileDialogFilePicker)
With filedlg
.AllowMultiSelect = True
.InitialFileName = "D:\DTH" & "\"
.Filters.Clear
.Filters.Add "Excel", "*.xls?"
If .Show = True Then
Dim fPath As Variant
For Each fPath In .SelectedItems
ir = ir + 1
ReDim Preserve arr(1 To ir)
arr(ir) = fPath
Next
End If
End With
For Each e In arr
    docdulieu (e)
Next e
Set filedlg = Nothing
End Sub
Mình làm được rồi!!!!
 
Lần chỉnh sửa cuối:
@duy199922 anh có thể cho code vào thẻ code hơm? nhìn cho dễ còn tham khảo
 
Web KT

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

Back
Top Bottom