Hỏi về việc lấy dữ liệu không cần mở (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

chauvietvan

Thành viên mới
Tham gia
18/1/11
Bài viết
3
Được thích
0
Giới tính
Nam
Chào các bác, em là người mới tham ra diễn đàn, hiện tại kiến thức của em cũng chỉ dừng lại ở mức độ sử dụng các hàm cơ bản (em đang muốn cày sới để nâng cao thêm khả năng sử dụng excel), hôm vừa rồi em có đọc một bài của anh Vũ Ngọc tại https://www.giaiphapexcel.com/diendan/threads/lấy-dữ-liệu-từ-các-file-excel-không-mở.103529/ , trong bài làm của anh ngọc là lấy dữ liệu từ 3 file khác nhau về file gốc, em cũng thử sửa lại để lấy dữ liệu từ 1 file về file gốc nhưng gặp lỗi như hình ảnh phía dưới... mong các bác chỉ em cách xử lý, và nếu học để xử lý được những lệnh như trong bài làm của anh Ngọc thì nên đọc những tài liệu nào? bác nào biết chỉ giúp em vơi... Em xin cảm ơn!
216846
 

File đính kèm

Chào các bác, em là người mới tham ra diễn đàn, hiện tại kiến thức của em cũng chỉ dừng lại ở mức độ sử dụng các hàm cơ bản (em đang muốn cày sới để nâng cao thêm khả năng sử dụng excel), hôm vừa rồi em có đọc một bài của anh Vũ Ngọc tại https://www.giaiphapexcel.com/diendan/threads/lấy-dữ-liệu-từ-các-file-excel-không-mở.103529/ , trong bài làm của anh ngọc là lấy dữ liệu từ 3 file khác nhau về file gốc, em cũng thử sửa lại để lấy dữ liệu từ 1 file về file gốc nhưng gặp lỗi như hình ảnh phía dưới... mong các bác chỉ em cách xử lý, và nếu học để xử lý được những lệnh như trong bài làm của anh Ngọc thì nên đọc những tài liệu nào? bác nào biết chỉ giúp em vơi... Em xin cảm ơn!
View attachment 216846
Sub GPE()
Dim cnn As Object
Dim rst As Object
Dim SQL$
Set cnn = CreateObject("ADODB.connection")
Set rst = CreateObject("ADODB.recordset")
With cnn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.Properties("Data Source") = ThisWorkbook.FullName
.Properties("Extended Properties") = "Excel 12.0;HDR=NO;IMEX=1"
.Open
End With
SQL = "SELECT a.f1,b.f2,b.f4,b.f5,b.f7,b.f8,b.f9,b.f10,VAL(b.f8)+VAL(b.f9)+VAL(b.f10) as t " _
& "FROM (([Sheet1$A6:A65536] a LEFT JOIN " _
& "[Excel 12.0;HDR=NO;IMEX=1;DATABASE=" & ThisWorkbook.Path & "\DATA1.xlsx].[Sheet1$A3:J65536] b " _
& "ON a.f1=b.f1)); "
rst.Open SQL, cnn, 3, 3, 1
Sheet2.Range("A6").CopyFromRecordset rst
Set rst = Nothing
cnn.Close: Set cnn = Nothing
End Sub

Tôi chỉ sửa cho chạy còn kết quả đúng hay không tôi không kiểm tra, chổ chữ đậm là do bạn bị sai hoặc thiếu tôi bổ sung thêm.
 
Sub GPE()
Dim cnn As Object
Dim rst As Object
Dim SQL$
Set cnn = CreateObject("ADODB.connection")
Set rst = CreateObject("ADODB.recordset")
With cnn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.Properties("Data Source") = ThisWorkbook.FullName
.Properties("Extended Properties") = "Excel 12.0;HDR=NO;IMEX=1"
.Open
End With
SQL = "SELECT a.f1,b.f2,b.f4,b.f5,b.f7,b.f8,b.f9,b.f10,VAL(b.f8)+VAL(b.f9)+VAL(b.f10) as t " _
& "FROM (([Sheet1$A6:A65536] a LEFT JOIN " _
& "[Excel 12.0;HDR=NO;IMEX=1;DATABASE=" & ThisWorkbook.Path & "\DATA1.xlsx].[Sheet1$A3:J65536] b " _
& "ON a.f1=b.f1)); "
rst.Open SQL, cnn, 3, 3, 1
Sheet2.Range("A6").CopyFromRecordset rst
Set rst = Nothing
cnn.Close: Set cnn = Nothing
End Sub

Tôi chỉ sửa cho chạy còn kết quả đúng hay không tôi không kiểm tra, chổ chữ đậm là do bạn bị sai hoặc thiếu tôi bổ sung thêm.
Cảm ơn anh nhiều.
 
Web KT

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

Back
Top Bottom