可以使用以下代码实现:
Sub CopyTableFromWeb()
Dim IE As Object
Dim html As Object
Dim table As Object
Dim i As Integer
Dim j As Integer
' 创建IE对象
Set IE = CreateObject("InternetExplorer.Application")
' 打开网页
IE.Navigate "https://www.example.com" ' 替换为你要复制表格的网页链接
' 等待网页加载完成
Do While IE.Busy Or IE.readyState <> 4
Application.Wait DateAdd("s", 1, Now)
Loop
' 获取网页内容
Set html = IE.document
' 找到表格
Set table = html.getElementById("table_id") ' 替换为你要复制的表格的id
' 复制表格到Excel
For i = 0 To table.Rows.Length - 1
For j = 0 To table.Rows(i).Cells.Length - 1
Cells(i + 1, j + 1).Value = table.Rows(i).Cells(j).innerText
Next j
Next i
' 关闭IE对象
IE.Quit
' 释放对象
Set IE = Nothing
Set html = Nothing
Set table = Nothing
MsgBox "表格已成功复制到Excel。"
End Sub
这段VBA代码实现了通过Internet Explorer对象将网页中的表格复制到Excel。首先创建了一个IE对象,然后打开指定的网页链接。等待网页加载完成后,通过获取网页内容的方式找到指定的表格。接着,使用嵌套循环遍历表格的行和列,并将每个单元格的文本值复制到Excel的对应单元格中。最后,关闭IE对象并释放相关的对象。
请注意,这段代码中的网页链接和表格id需要根据实际情况进行替换。
领取专属 10元无门槛券
手把手带您无忧上云