Xin giúp đỡ về VBA - Sửa code lấy dữ liệu từ web

Liên hệ QC

TU DONG

Thành viên mới
Tham gia
18/6/21
Bài viết
4
Được thích
0
Chào các bạn
Mình không rành về VBA, mong các bạn sửa cái code này giúp mình để cho mình tiện sử dụng với ạ:
Code đang xài bình thường nhưng nó có 1 bất cập là phải khai báo tên Sheet như trong code. Mình muốn, không cần phải khai báo tên sheet và để cái nút nhấn đó ở sheet nào thì nó thực hiện trên sheet đó. Ví dụ: Mình cho nó vào Module 1, thì các Sheet hiện hữu đều sử dụng chung được nó. MONG ĐƯỢC GIÚP ĐỠ Ạ!

Sub HAI()
Dim qry As QueryTable
Dim sh As Worksheet
Dim CnnStr As String
Sheets("HAI").Range("B2").Value = Now
Set sh = ThisWorkbook.Sheets("HAI")
'Xoa querytable truoc do
XoaQT sh

CnnStr = "URL;http://s.cafef.vn/Lich-su-giao-dich-" & Cells(2, 1) & "-6.chn#data"
Set qry = sh.QueryTables.Add(CnnStr, sh.Range("B5"))
'Query
qry.WebSelectionType = xlSpecifiedTables
qry.WebFormatting = xlWebFormattingNone
qry.WebTables = """tblStats""" '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
 
Chào các bạn
Mình không rành về VBA, mong các bạn sửa cái code này giúp mình để cho mình tiện sử dụng với ạ:
Code đang xài bình thường nhưng nó có 1 bất cập là phải khai báo tên Sheet như trong code. Mình muốn, không cần phải khai báo tên sheet và để cái nút nhấn đó ở sheet nào thì nó thực hiện trên sheet đó. Ví dụ: Mình cho nó vào Module 1, thì các Sheet hiện hữu đều sử dụng chung được nó. MONG ĐƯỢC GIÚP ĐỠ Ạ!

Sub HAI()
Dim qry As QueryTable
Dim sh As Worksheet
Dim CnnStr As String
Sheets("HAI").Range("B2").Value = Now
Set sh = ThisWorkbook.Sheets("HAI")
'Xoa querytable truoc do
XoaQT sh

CnnStr = "URL;http://s.cafef.vn/Lich-su-giao-dich-" & Cells(2, 1) & "-6.chn#data"
Set qry = sh.QueryTables.Add(CnnStr, sh.Range("B5"))
'Query
qry.WebSelectionType = xlSpecifiedTables
qry.WebFormatting = xlWebFormattingNone
qry.WebTables = """tblStats""" '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
thử thay cái sheets("HAI") thành ActiveSheet coi thế nào
 
Upvote 0
Web KT

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

Back
Top Bottom