ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何运用VBA提取辽宁快乐12网页的开奖结果数据到Excel工作表中呢?

如何运用VBA提取辽宁快乐12网页的开奖结果数据到Excel工作表中呢?

作者:绿色风 分类: 时间:2022-08-17 浏览:159
楼主
0Mouse
Q:如何运用VBA提取辽宁快乐12网页的开奖结果数据到Excel工作表中呢?
辽宁快乐12网页链接:
  1. http://kl12.icaile.com/lnkl12.php?op=dcjb&num=100

预期效果:

 
A:代码如下:
  1. Sub 运用VBA提取辽宁快乐12网页的开奖结果数据到Excel工作表中()
  2.     Application.ScreenUpdating = False
  3.     Dim sTxt$, Rst, Ori, Astd, i%, j%, Arr, sAddr$
  4.     With CreateObject("Microsoft.XMLHTTP")
  5.         .Open "get", "http://kl12.icaile.com/lnkl12.php?op=dcjb&num=100", False
  6.         .send
  7.         sTxt = .responsetext    '网页源文件
  8.     End With
  9.     Rows("3:" & Rows.Count).Clear
  10.     Ori = Split(Split(sTxt, "chart-hr")(0), "chart-bg-qh")
  11.     ReDim Rst(1 To UBound(Ori), 1 To 23)
  12.     Astd = Split("EMDE,IMDI,MMDM,QMDQ,UMDU,YMDY,cMDc,gMDg,kMDk,AMTA,EMTE,IMTI", ",")    '开奖号码对应的编码
  13.     For i = 1 To UBound(Ori)
  14.         '期号
  15.         Rst(i, 1) = Mid(Split(Ori(i), "</td>")(0), 3)
  16.         '开奖号码及其分布
  17.         Arr = Split(Ori(i), "=M")
  18.         For j = 0 To 4
  19.             Rst(i, j + 2) = Format(Application.Match(Right(Arr(j), 4), Astd, 0), "00")
  20.             Rst(i, Val(Rst(i, j + 2)) + 6) = Rst(i, j + 2)
  21.         Next j
  22.         Erase Arr
  23.         '和值、跨度、大小比、奇偶比、质合比
  24.         Arr = Split(Ori(i), "<td>")
  25.         For j = 0 To 4
  26.             Rst(i, UBound(Rst, 2) - j) = Split(Arr(UBound(Arr) - j), "<")(0)
  27.         Next j
  28.         Erase Arr
  29.     Next i
  30.     Union(Range("B3:R" & i + 1), Range("U3:W" & i + 1)).NumberFormatLocal = "@"
  31.     With Range("A3").Resize(i - 1, UBound(Rst, 2))
  32.         .Value = Rst
  33.         .Font.Size = 9
  34.         .HorizontalAlignment = xlCenter
  35.     End With
  36.     Union(Range("A3:A" & i + 1), Range("F3:F" & i + 1), Range("R3:R" & i + 1)).Borders(xlEdgeRight).LineStyle = xlContinuous
  37.     Columns.AutoFit
  38.     With Range("B3").Resize(i - 1, 17).Font
  39.         .Bold = True
  40.         .Color = vbRed
  41.     End With
  42.     Range("G3").Resize(i - 1, 12).Font.Color = vbBlue
  43.     For j = 1 To i - 1
  44.         sAddr = sAddr & "," & Cells(j + 2, Rst(j, 2) + 6).Address(0, 0)
  45.         If Len(sAddr) > 230 Then
  46.             Range(Mid(sAddr, 2)).Font.Color = vbRed
  47.             sAddr = ""
  48.         End If
  49.     Next j
  50.     If sAddr <> "" Then
  51.         Range(Mid(sAddr, 2)).Font.Color = vbRed
  52.         sAddr = ""
  53.     End If
  54.     Application.ErrorCheckingOptions.NumberAsText = False
  55.     Range("A3").Select
  56.     Erase Rst: Erase Ori: Erase Astd
  57.     Application.ScreenUpdating = True
  58. End Sub

附件:
运用VBA提取辽宁快乐12网页的开奖结果数据到Excel工作表中.rar
来自群组:
2楼
水星钓鱼
感谢分享
3楼
芐雨
学习了
4楼
老糊涂
感谢分享

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap