怎么自动获取网页自动更新的数据excel vba

怎么自动获取网页自动更新的数据excel vba,第1张

Excel界面 *** 作:数据——导入外部数据——新建Web查询:在出现的界面地址栏输入网址,然后选择需要更新的数据范围——导入——选择数据放的单元格(必要时修改属性,如刷新频率等)——确定。这样当网页数据变化时,Excel表格的数据就会同样改变。

如果非要用VBA,用录制宏稍作修改即可。

代码贴出来就失去了格式,没有可读性,所以贴个图出来。

这段代码用录制宏的方式产生,然后做了简单改动,可读性差了一点,但我实际 *** 作过可以达到你的要求。我把代码全部贴到回答后面,你复制粘贴出去看看能不能用,不能用再想其他办法了。

Sub Macro1()

For n = 1 To 199

With ActiveSheetQueryTablesAdd(Connection:="URL;>

Name = "productmoreasppage=1"

FieldNames = True

RowNumbers = False

FillAdjacentFormulas = False

PreserveFormatting = True

RefreshOnFileOpen = False

BackgroundQuery = True

RefreshStyle = xlInsertDeleteCells

SavePassword = False

SaveData = True

AdjustColumnWidth = True

RefreshPeriod = 0

WebSelectionType = xlSpecifiedTables

WebFormatting = xlWebFormattingNone

WebTables = "1"

WebPreFormattedTextToColumns = True

WebConsecutiveDelimitersAsOne = True

WebSingleBlockTextImport = False

WebDisableDateRecognition = False

WebDisableRedirections = False

Refresh BackgroundQuery:=False

End With

Next n

Columns("C:C")Select

SelectionTextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _

TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _

Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _

:=Array(1, 2), TrailingMinusNumbers:=True

Columns("D:D")Select

SelectionTextToColumns Destination:=Range("D1"), DataType:=xlDelimited, _

TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _

Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _

:=Array(1, 2), TrailingMinusNumbers:=True

Columns("A:D")Select

SelectionAutoFilter

ActiveSheetRange("$A$1:$D$4179")AutoFilter Field:=1, Criteria1:="=品牌", _

Operator:=xlAnd

Rows("22:4159")Select

SelectionDelete Shift:=xlUp

ActiveSheetRange("$A$1:$D$3981")AutoFilter Field:=1

End Sub

1、这个问题相对比较专业。建议再去知乎看看

2、另外咨询下淘宝看看卖VBA程序的人都给出什么方案

3、以下代码转载自网络:

Dim 二是开启IE进程Sub test()

  Set ie = CreateObject("InternetExplorerApplication") '设置变量

  With ie '设置块

    Navigate ("需要打开的网页的网址") '打开网页

    Visible = True '是否显示ie窗口

    While readystate <> 4 '延迟等待页面加载完毕

      DoEvents

    Wend

    For i = 22 To 49 Step 3 '取数循环

      S = S & " " & Documentalltags("td")(i)innerTEXT  '取数据到变量,熟悉HTML的DOM可以修改这个实现各种内容

    Next i

  End With '块结束

  S = LTrim(S) '删除左边空格

  ApplicationSendKeys "^{F4}" '发送按键关闭当前浏览器标签

  MsgBox S '显示结果

  Set ie = Nothing '释放内存

End Sub

以上就是关于怎么自动获取网页自动更新的数据excel vba全部的内容,包括:怎么自动获取网页自动更新的数据excel vba、Excel VBA 如何提取网页特定数据进Excel、怎么通过excel vba 提取多网页数据 http://www.etmoc.com/Firm/productmore.asppage=1 (1-119页)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9726277.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存