Nhờ hỗ trợ sửa code Lấy dữ liệu từ nhiều google Sheet vào Excel bằng VBA

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Excelvp

Thành viên mới
Tham gia
15/4/23
Bài viết
12
Được thích
3
Chào các bạn, tôi có tìm được một mã VBA để hỗ trợ lấy dữ liệu từ Google Sheet vào VBA, tuy nhiên nó chỉ lấy được 1 Link Google Sheet, nếu chạy vòng lặp để lấy dữ liệu từ nhiều Google Sheet thì dữ liệu không nối tiếp được với nhau (tìm dòng cuối cùng để nối dữ liệu mới vào), tôi để ý thấy, khi chạy code thì nó chỉ Kết nối dữ liệu đúng 1 lần nên tìm dòng cuối cùng không chính xác
Code tôi đang thử ở dưới, các bạn xem giúp làm thế nào để khi lấy dữ liệu từ nhiều Link Google Sheet thì dữ liệu nối tiếp được với nhau, cảm ơn các bạn
Mã:
Sub Import_Sheets_to_Excel()
On Error Resume Next
Dim QRT As QueryTable, ul As String, ky As String

For i = 1 To 2 'lay du lieu lap lai 2 lan

dongcuoicung = Range("B65000").End(xlUp).Row + 1
If ActiveSheet.QueryTables.Count > 0 Then ActiveSheet.QueryTables(1).Delete
'ActiveSheet.Cells.Clear
ky = "1slumgR5et-cG7Er-9udweCSthufb7xYdsmoP9H2AOFs"
ul = "https://spreadsheets.google.com/tq?tqx=out:html&key=" & ky
Set QRT = ActiveSheet.QueryTables.Add(Connection:="URL;" & ul, _
Destination:=Range("$A$" & dongcuoicung))
With QRT
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.Refresh
End With
MsgBox i
Next i

End Sub
 
Theo tôi thấy thì code này chỉ có 1 ul (tức chỉ 1 bảng tính google sheets) thì dù có chạy 2 lần cũng đâu có nghĩa gì.
 
Upvote 0
Đấy là thử trên 1 URL để kiểm tra vòng lặp, 2 URL thì cũng vậy, nó chỉ thực hiện query 1 lần thôi
 
Upvote 0
Query chậm lắm. Muốn ghép thì chép vào bảng tạm rồi nối lại.
Cùi bắp thì tải tập tin xlsx về rồi đọc các tập tin mà lấy dữ liệu. Lúc này không liên quan Google Sheets nữa.
Ngon nhất là dựng api trên Google Sheets rồi vba dùng api kia lấy dữ liệu thôi. Cái này cần đọc nhiều chữ và tốn nhiều thời gian sẽ làm được.
 
Upvote 0
Chắc dùng 1 trong 2 gợi ý trên của bạn, chứ dùng api thành ra lấy dao mổ trâu để giết gà
 
Upvote 0
Đã có đâu mà DÙNG? :D

Phải tự xây dựng đã. Bữa nào rảnh mình làm cái vi đi ô biểu diễn đồng bộ giữa Excel và Google Sheets theo thời gian thực cho xem.
 
Upvote 0
Đã có đâu mà DÙNG? :D

Phải tự xây dựng đã. Bữa nào rảnh mình làm cái vi đi ô biểu diễn đồng bộ giữa Excel và Google Sheets theo thời gian thực cho xem.
Mình đã thử nhiều cách, nhưng mấu chốt là khi dùng Query nó lấy dữ liệu đúng 1 lần khi đã chạy xong sub, vì vậy không thể xác định được số hàng dữ liệu ở liên kết trước liền kề, nên không tìm được ra ô cuối cùng có dữ liệu trên excel để nối tiếp vào, mình ko cần cao cấp đến mức đồng bộ thời gian thực, chỉ cần nối được dữ liệu là được, còn tải file về xong lấy dữ liệu từ file nó hơi lích kích, đặc biệt vớ dữ liệu nhỏ, bạn có hướng nào khác không?
 
Upvote 0
Mình đã thử nhiều cách, nhưng mấu chốt là khi dùng Query nó lấy dữ liệu đúng 1 lần khi đã chạy xong sub, vì vậy không thể xác định được số hàng dữ liệu ở liên kết trước liền kề, nên không tìm được ra ô cuối cùng có dữ liệu trên excel để nối tiếp vào, mình ko cần cao cấp đến mức đồng bộ thời gian thực, chỉ cần nối được dữ liệu là được, còn tải file về xong lấy dữ liệu từ file nó hơi lích kích, đặc biệt vớ dữ liệu nhỏ, bạn có hướng nào khác không?

Mình đã làm đúng hướng dẫn chưa? Bí kíp kỹ thuật đấy. Đọc thật chậm và làm theo sẽ thành công.


1693276951873.png
 
Upvote 0
Mình đã làm đúng hướng dẫn chưa? Bí kíp kỹ thuật đấy. Đọc thật chậm và làm theo sẽ thành công.


View attachment 294334
Mình có đọc nhưng ko biết hiểu đúng không, Mỗi link mình sinh ra 1 sheet mới để chép tạm bảng dữ liệu vào, chạy thì ra dữ liệu nhưng không nối lại với nhau được, hay là bảng ở đây giống kiểu mảng dữ liệu b nhỉ
 
Upvote 0
Web KT

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

Back
Top Bottom