Trong nhiều doanh nghiệp hiện nay, tính năng nhập dữ liệu online của Googlesheet được khai thác để nhiều người sử dụng và nhập liệu đồng thời. Và người dùng có nhu cầu lấy dữ liệu từ Googlesheet về Excel để phục vụ cho việc lưu trữ, xử lý số liệu, làm đa dạng các báo cáo hơn

Bài viết này sẽ hướng dẫn dùng VBA để lấy dữ liệu từ Googlesheet về bảng tính Excel

Bước 1: Thực hiện chia sẻ file

Vào file cần lấy dữ liệu trên Googlesheet  => Bấm vào Chia sẻ (Share) => Ở phần Quyền truy cập chung (General access) =>  Chọn Bất kỳ ai có đường liên kết (Anyone with this link)

Bước 2: Lấy chuỗi khóa trong đường link file Googlesheet

Giả sử link của 1 file googlesheet là:

https://docs.google.com/spreadsheets/d/1jWJqRmx7T6GkNTMJUTrjR96muNKgrmokd_ZAViSaXT0/edit#gid=1039827565

Thì chuỗi khóa là đoạn sau d/ và trước /edit:  

"1jWJqRmx7T6GkNTMJUTrjR96muNKgrmokd_ZAViSaXT0"

Bước 3: Sao chép đoạn code sau vào môi trường VBA

Mở file Excel trên máy tính lên => Nhấn tổ hợp phím Alt+F11 (hoặc Alt+Fn+F11) để vào cửa sổ VBA

Trong cửa sổ VBA vào Insert => Module và copy đoạn code dưới đây vào phần soạn thảo code trong Module.

Thay đoạn "xxxxxxxxxxxxxxxxxxxxxxxxxxx" trong code bằng chuỗi khóa lấy ở bước 2 (Lưu ý: Chuỗi này phải đặt trong dấu nháy kép)

Sub GetDataGGsheet()

    Dim qry As QueryTable, ustr As String, kstr As String

    kstr = "xxxxxxxxxxxxxxxxxxxxxxxxxxx"

    If ActiveSheet.QueryTables.Count > 0 Then ActiveSheet.QueryTables(1).Delete

    ActiveSheet.Cells.Clear

    ustr = "https://spreadsheets.google.com/tq?tqx=out:html&key=" & kstr

    Set qry = ActiveSheet.QueryTables.Add(Connection:="URL;" & ustr, Destination:=Range("$A$1"))

    With qry

        .WebSelectionType = xlAllTables

        .WebFormatting = xlWebFormattingNone

        .Refresh

    End With

End Sub

Bước 4: Chạy VBA để lấy dữ liệu

Nhấn phím F5 và chờ trong giây lát để lấy dữ liệu về File Excel. Trường hợp có xuất hiện thông báo lỗi thì cần kiểm tra lại Bước 1, Bước 2 xem đã chia sẻ file hay lấy đúng mã khóa chưa

Liên hệ tư vấn khóa học Excel cho người đi làm & đặt hàng đào tạo tại doanh nghiệp

{Đt Zalo} - 038 696 1334


1 nhận xét:

  1. Nặc danh6/3/23 11:23 SA

    Code chạy rất ok nhe ad. Nhưng hiện tại code chỉ mới lấy được dữ liệu sheet đầu tiên thôi, nếu mình cần lấy dữ liệu của những sheet khác theo ý muốn thì làm như thế nào, nhờ ad hướng dẫn thêm, cảm ơn rất nhiều!

    Trả lờiXóa

Excel Thỉnh Vũ. Được tạo bởi Blogger.