MSXML2.XMLHTTP bu yöntem hızlı olduğu için bununa yaptım.
Veri alırken başlıksız aldıramadığım için For x = 2 To UBound(arr, 2) burda döngüyü 2 den başlattım.
Anlayan varsa buna bir çözüm bulursa sevinirim.
Kısaca kod verileri alıyor.
Option Compare Database
Private Sub Getir_Click()
Dim url As String
Dim j As Integer, row As Integer
Dim XMLHTTP As Object, Html As Object
Dim tr As Object
Dim td As Object, tbl
Dim arr(), x As Integer
Dim rc As DAO.Recordset
Set rc = CurrentDb.OpenRecordset("Tbl_Altin")
url = "https://www.canlialtinfiyatlari.com/"
Set XMLHTTP = CreateObject("MSXML2.XMLHTTP")
XMLHTTP.Open "GET", url, False
XMLHTTP.send
Set Html = CreateObject("htmlfile")
html.body.innerHTML = XMLHTTP.responseText
Set tbl = html.body.getElementsByTagName("table")
For Each t In tbl
If t.className = "altin-table-2" Then
For Each tr In t.getElementsByTagName("TR")
j = 1
For Each td In tr.getElementsByTagName("TD")
ReDim Preserve arr(1 To 3, 1 To row + 1)
If j < 4 Then arr(j, row + 1) = td.innerText
j = j + 1
Next
row = row + 1
Next
row = row + 3
End If
Next
CurrentDb.Execute ("delete from Tbl_Altin")
For x = 2 To UBound(arr, 2)
rc.AddNew
rc(0) = arr(1, x)
rc(1) = arr(2, x)
rc(2) = arr(3, x)
rc.Update
Next x
Set rc = Nothing
Me.Alt0.Requery
Erase arr: Set XMLHTTP = Nothing: Set Html = Nothing
Set tr = Nothing: Set td = Nothing
End Sub