调整VBA网页抓取代码:将表格数据导入Excel的A5单元格
解决表格数据从A5开始写入的问题
你的代码中控制写入行的rowcounter变量初始值设为了1,导致表格数据从第1行开始写入。要让数据从A5单元格开始,只需将rowcounter的初始值改为5即可:
修改后的核心代码片段
'Scrapging table Dim tbl As HTMLTable Set tbl = ie.document.getElementById("RecentInventorylistform") Dim rowcounter As Integer Dim colcounter As Integer rowcounter = 5 ' 将初始值从1改为5 colcounter = 1 Dim tr As HTMLTableRow Dim td As HTMLTableCell Dim th Dim mySh As Worksheet Set mySh = ThisWorkbook.Sheets("Sheet1") For Each tr In tbl.getElementsByTagname("tr") 'Loop thru table cells For Each td In tr.getElementsByTagname("td") mySh.Cells(rowcounter, colcounter).Value = td.innerText colcounter = colcounter + 1 Next td colcounter = 1 rowcounter = rowcounter + 1 Next tr
额外优化建议
为避免依赖活动工作表,建议将最后更新时间的代码也改为使用指定工作表对象:
'Last updated and message box at completion mySh.Range("N1") = Now()
修改后,抓取到的表格数据会从Sheet1的A5单元格开始依次写入,同时保留你原有清除A5:K5000内容的逻辑。
内容的提问来源于stack exchange,提问作者Guaca24
相关产品推荐
相关产品推荐

