[Tin tức] Lập trình VBA Liên kết dữ liệu từ website vào Excel với QueryTable



Hướng dẫn lập trình VBA để lấy dữ liệu từ website vào Excel với đối tượng QueryTable. Dữ liệu lấy dạng table có ID.
(*) Bài giảng lập trình VBA cơ bản:
(*) Mã nguồn:
‘——-CODE——–
‘Author: Nguyen Duy Tuan –
Sub LayTableTuWeb()
Dim qry As QueryTable
Dim sh As Worksheet
Dim CnnStr As String

Set sh = ThisWorkbook.Sheets(“Webtable”)
‘Xoa querytable truoc do
XoaQT sh

CnnStr = “URL;
Set qry = sh.QueryTables.Add(CnnStr, sh.Range(“A5”))
‘Query
qry.WebSelectionType = xlSpecifiedTables
qry.WebFormatting = xlWebFormattingNone
qry.WebTables = “””tblStats””,””tblData””” ‘Tat ca cac table
qry.Refresh ‘Load du lieu
End Sub

Sub XoaQT(sh As Worksheet)
Dim qry As QueryTable
On Error Resume Next ‘Bo qua loi
For Each qry In sh.QueryTables
qry.ResultRange.ClearContents ‘Xoa data trong vung table
qry.Delete ‘Xoa QueryTable
Next
End Sub
‘——END COPY——-

35 bình luận về “[Tin tức] Lập trình VBA Liên kết dữ liệu từ website vào Excel với QueryTable”

  1. Trường hợp mở trang bảng giá của cafef, table đã có id nhưng không lấy được dữ liệu các mã chứng khoán mà chỉ lấy được các tên tiêu đề " mua, bán khối lượng" là sao vậy admin nhỉ. Dữ liệu của mã thì nó không lấy được.

    Bình luận
  2. À e làm được rồi. Mà ko biết hình ảnh ấy nó có tự cập nhật không. Hôm nào a có phương pháp trong excel mà chỉ cần rê chuột đến ô đó nó liền hiện 1 hình ảnh mặc định theo link nào đó thì chia sẻ tụi e với nha

    Bình luận
  3. Kỹ sư có cách giảng rất hay, có trình độ sư phạm nên khá dễ hiểu.
    Anh cho hỏi thêm, tại sao một Table khác cũng trên Cafef tại địa chỉ:
    https://s.cafef.vn/screener.aspx#data
    nhưng lại không thể lấy được table. Có phải vì họ sử dụng Json data phải không ạ? cách làm như thế nào để lấy được số liệu trên table này (có id là mytable) bằng VBA, anh có thể chỉ giúp không? xin cám ơn anh.

    Bình luận
  4. Chào thầy. Thầy cho em hỏi chút. dữ liệu web có nhiều trang và liên tục update. dữ liệu kỳ mới nhất sẽ đẩy dữ liệu kỳ cũ sang trang sau. người dùng phải bấm nút tiến thì mới vào được trang sau để đọc dữ liệu cũ. Vậy. câu hỏi là, khi em liên kết excel với trang đầu của web. khi dữ liệu của web update thì có cách nào dữ liệu cũ trên bảng excel sẽ lùi xuống các hàng dưới, nhường vị trí cho dữ liệu mới hiển thi trên excel ko ạ. Em cảm ơn thầy.

    Bình luận
  5. A Tuan cho gợi ý giúp mình thêm đó là: trên webtable kia a lấy được dữ liệu của VCB, vậy nếu muốn lấy của mã khác như TCB chẳng hạn, có thể làm 1 cho phép nhập thêm: Mã chứng khoán vào đó. Rồi ấn nút" Load table " rồi trả lại kết quả mã mới vào ô A5 thay thế cho VCB . Mong được anh gợi ý cách làm ah.

    Bình luận

Viết một bình luận

bahis10bets.com betvole1.com casinomaxi-giris.com interbahis-giris1.com klasbahis1.com mobilbahisguncelgiris1.com piabetgiris1.com tipobettgiris.com tumbetgiris1.com betboro 1xbet giriş
bahis10bets.com betvole1.com casinomaxi-giris.com interbahis-giris1.com klasbahis1.com mobilbahisguncelgiris1.com piabetgiris1.com tipobettgiris.com tumbetgiris1.com betboro 1xbet giriş
antalya bayan escort
antalya bayan escort
antalya bayan escort