easport431991
Thành viên mới
- Tham gia
- 20/12/21
- Bài viết
- 6
- Được thích
- 0
Thử xem . nhấn nút ở sh SUB để được kết quả.Hai file ở 2 thư mục khác nhau nhờ các bạn giúp mình code VBA: Copy dữ liệu từ sheet DATA ở file TONG HOP qua sheet SUB ở file DON HANG
Cảm ơn các bạn rất nhiều
Sub Coppy()
Application.ScreenUpdating = False
'1. Tao doi tuong muon lay du lieu
Dim cn As Object
Set cn = CreateObject("ADODB.connection")
'2. Tui chua du lieu
Dim rst As Object
Set rst = CreateObject("ADODB.recordset")
'3. Chi duong dan den file goc
Dim address As String
address = "C:\Users\Administrator\Downloads\TongHop.xlsx"
'4.Mo ket noi
cn.Open ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & address & ";Extended Properties=""Excel 12.0 Xml;HDR=yes""")
'5. Nhat du lieu vao tui
rst.Open ( _
"SELECT SEBANGO,[TANM A],[CAM A],[VI TRI A],[MS CONN A],[TANM B],[Cam b],[VI TRI B],[MS CONN B],[Size] " & _
" From [Data$]" _
), cn
'6. Xoa Du lieu cu
Sheet1.Range("a3:zz1000").ClearContents
'7. Chep ten cot
Dim i As Integer
For i = 1 To rst.Fields.Count
Sheet1.Range("a3").Offset(0, i - 1).Value = rst.Fields(i - 1).Name
Next
'8. Gan Xuong sheet
Sheet1.Range("a5").CopyFromRecordset rst
Application.ScreenUpdating = True
End Sub
thank bạn nhé mình làm được rồiThử xem . nhấn nút ở sh SUB để được kết quả.
file DON HANG và File TONGHOPđược để trong folder TONGHOPDONHANG.
Đưỡng dẫn của tôi có thể khác của ban. tải foder .zip giải nén và chạy thủ.
làm phiền bạn thêm tí xíu nữa nha, trường hợp mình không để 2 file chung thư mục thì mình gọi đường link như thế nào và tên file có thể khác nhau thì mình có cách nào nhận biết được khôngThử xem . nhấn nút ở sh SUB để được kết quả.
file DON HANG và File TONGHOPđược để trong folder TONGHOPDONHANG.
Đưỡng dẫn của tôi có thể khác của ban. tải foder .zip giải nén và chạy thủ.
Bạn đã làm đến chỗ nàylàm phiền bạn thêm tí xíu nữa nha, trường hợp mình không để 2 file chung thư mục thì mình gọi đường link như thế nào và tên file có thể khác nhau thì mình có cách nào nhận biết được không
'fnameList = Application.GetOpenFilename(FileFilter:="Microsoft Excel Workbooks (*.xls;*.xlsx;*.xlsm),*.xls;*.xlsx;*.xlsm", Title:="Choose Excel files to merge", MultiSelect:=True)
'For Each file In fnameList ' quet tung file trong tap hop
mình làm được rồi rất cảm ơn bạn đã giúp mìnhBạn đã làm đến chỗ này
'fnameList = Application.GetOpenFilename(FileFilter:="Microsoft Excel Workbooks (*.xls;*.xlsx;*.xlsm),*.xls;*.xlsx;*.xlsm", Title:="Choose Excel files to merge", MultiSelect:=True)
thì excel sẽ mở một cửa sổ cho bạn chọn các file bằng cách bôi đen hay click chọn 1 hay nhiều file (nhấn ctrl để chọn nhiều file) . sau đó enter( OK)
Dòng lệnh 'For Each file In fnameList ' quet tung file trong tap hop
và set wb= this workbook( open file)
sẽ lần lượt mở từng file đã chọn trong tâp hợp fnamelist và xử lý theo code tiếp theo.
bạn tìm kiếm trên diễn đàn này có hàng đống những bài như yêu cầu của bạn và tự tìm hiểu thì sẽ nhớ lâu và thành thục thôi.
Chúc bạn thành công.
Nếu sau này muốn thêm vài Sheet nữa thì hãy tìm loạt bài viết của Tôi tham khảo chơi nhémình làm được rồi rất cảm ơn bạn đã giúp mình
Anh có thể cho em xin link bài viết của anh được không ạ.Nếu sau này muốn thêm vài Sheet nữa thì hãy tìm loạt bài viết của Tôi tham khảo chơi nhé
Tùy chọn tổng hợp dữ liệu với file bất kỳ bao gồm ( Excel + Access + SQLite )
tùy chọn Sheet Or Table lấy gán dữ liệu nối tiếp xuống dòng ( Tổng hợp dữ liệu )
xem hình có 3 Sheet trong Một file lấy hết hoặc chỉ lấy 1 = Tùy chọn
View attachment 283662
Cách 2 kiểu như trên mà builder SQL
Xem hình
View attachment 283663
Nếu sau này muốn thêm vài Sheet nữa thì hãy tìm loạt bài viết của Tôi tham khảo chơi nhé
Tùy chọn tổng hợp dữ liệu với file bất kỳ bao gồm ( Excel + Access + SQLite )
tùy chọn Sheet Or Table lấy gán dữ liệu nối tiếp xuống dòng ( Tổng hợp dữ liệu )
xem hình có 3 Sheet trong Một file lấy hết hoặc chỉ lấy 1 = Tùy chọn
View attachment 283662
Cách 2 kiểu như trên mà builder SQL
Xem hình
BàiView attachment 283663
Cảm ơn bạn nha, cho mình xin đường dẫn tới bài viết được không, mình muốn tìm hiểu thêmNếu sau này muốn thêm vài Sheet nữa thì hãy tìm loạt bài viết của Tôi tham khảo chơi nhé
Tùy chọn tổng hợp dữ liệu với file bất kỳ bao gồm ( Excel + Access + SQLite )
tùy chọn Sheet Or Table lấy gán dữ liệu nối tiếp xuống dòng ( Tổng hợp dữ liệu )
xem hình có 3 Sheet trong Một file lấy hết hoặc chỉ lấy 1 = Tùy chọn
View attachment 283662
Cách 2 kiểu như trên mà builder SQL
Xem hình
View attachment 283663
Xin anh hướng dẫn sử dụng, em tải về mở file excel: FireMySQLAPI, chọn Selectfiles báo lỗi Run-time error 53Nếu sau này muốn thêm vài Sheet nữa thì hãy tìm loạt bài viết của Tôi tham khảo chơi nhé
Tùy chọn tổng hợp dữ liệu với file bất kỳ bao gồm ( Excel + Access + SQLite )
tùy chọn Sheet Or Table lấy gán dữ liệu nối tiếp xuống dòng ( Tổng hợp dữ liệu )
xem hình có 3 Sheet trong Một file lấy hết hoặc chỉ lấy 1 = Tùy chọn
View attachment 283662
Cách 2 kiểu như trên mà builder SQL
Xem hình
View attachment 283663
em muốn chọn đến thư mục để chọn nhiều file phải sửa lại như thế nào mong bác giúp đỡLàm thử 10 cột sao thấy chạy ẹ quá nên thôi
Sub cho nút Coppy
Mã:Sub Coppy() Application.ScreenUpdating = False '1. Tao doi tuong muon lay du lieu Dim cn As Object Set cn = CreateObject("ADODB.connection") '2. Tui chua du lieu Dim rst As Object Set rst = CreateObject("ADODB.recordset") '3. Chi duong dan den file goc Dim address As String address = "C:\Users\Administrator\Downloads\TongHop.xlsx" '4.Mo ket noi cn.Open ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & address & ";Extended Properties=""Excel 12.0 Xml;HDR=yes""") '5. Nhat du lieu vao tui rst.Open ( _ "SELECT SEBANGO,[TANM A],[CAM A],[VI TRI A],[MS CONN A],[TANM B],[Cam b],[VI TRI B],[MS CONN B],[Size] " & _ " From [Data$]" _ ), cn '6. Xoa Du lieu cu Sheet1.Range("a3:zz1000").ClearContents '7. Chep ten cot Dim i As Integer For i = 1 To rst.Fields.Count Sheet1.Range("a3").Offset(0, i - 1).Value = rst.Fields(i - 1).Name Next '8. Gan Xuong sheet Sheet1.Range("a5").CopyFromRecordset rst Application.ScreenUpdating = True End Sub
Lỗi đó do nó tham chiếu tới 1 DLL khác mà trên máy của bạn không có ... do khi Úp tôi chưa bỏ check nóXin anh hướng dẫn sử dụng, em tải về mở file excel: FireMySQLAPI, chọn Selectfiles báo lỗi Run-time error 53
Bài đã được tự động gộp:
em muốn chọn đến thư mục để chọn nhiều file phải sửa lại như thế nào mong bác giúp đỡ