ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: cexolpgf

网页的数据导入

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-10-31 13:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub test() '主體代碼
    Dim strText As String
    Header = Array("日期", "代碼", "名稱", "相關", "變動人", "變動股數", "成交均價", "變動金額(萬)", "變動原因", "變動比例(%)", "變動後持股數", "持股種類", "董監高人員姓名", "職務", "變動人與董監高的關係")
    Cells.Clear
    [a1].Resize(1, 15) = Header
    Columns("B:B").NumberFormatLocal = "@"
   
        With CreateObject("MSXML2.XMLHTTP")
            .Open "GET", "http://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=GG&sty=GGMX&ps=40000", False
            .send
            arr = Split(Split(Split(.responseText, "([")(1), "])")(0), """")
            For i = 1 To UBound(arr) Step 2
                brr = Split(arr(i), ",")
                Range("a65536").End(xlUp).Offset(1, 9) = brr(0)
                Range("a65536").End(xlUp).Offset(1, 12) = brr(1)
                Range("a65536").End(xlUp).Offset(1, 1) = WorksheetFunction.Text(brr(2), "000000")
                Range("a65536").End(xlUp).Offset(1, 4) = brr(3)
                Range("a65536").End(xlUp).Offset(1, 11) = brr(4)
                Range("a65536").End(xlUp).Offset(1, 5) = Format(brr(6), "#,##0.00")
                Range("a65536").End(xlUp).Offset(1, 10) = Format(brr(7), "#,##0.00")
                Range("a65536").End(xlUp).Offset(1, 6) = brr(8)
                Range("a65536").End(xlUp).Offset(1, 2) = brr(9)
                Range("a65536").End(xlUp).Offset(1, 14) = brr(10)
                Range("a65536").End(xlUp).Offset(1, 8) = brr(12)
                Range("a65536").End(xlUp).Offset(1, 7) = Format(brr(13), "#,##0.00")
                Range("a65536").End(xlUp).Offset(1, 13) = brr(14)
                Range("a65536").End(xlUp).Offset(1, 0) = brr(5)
            Next
        End With
End Sub

這個你要多謝 wcymiss, 而且我自己也要多實習,這個網站並不複雜的,你自己可以的,只是 ps=40000 我也不知怎來的,希望大家多學習

点评

总共有3w多条数据,我就写个4w了。你写5w6 w都行的  发表于 2014-10-31 16:13

TA的精华主题

TA的得分主题

发表于 2014-10-31 22:46 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
請問這個怎用"jscript"分開得回來的文件呢?

TA的精华主题

TA的得分主题

发表于 2014-11-1 07:56 | 显示全部楼层
liucqa 发表于 2014-10-30 21:15
不要赤裸裸的索取嘛,这是个学习论坛,不是乞讨论坛

同感同感。因为很容易得到,所就没必要学习了。

TA的精华主题

TA的得分主题

发表于 2014-11-1 08:40 | 显示全部楼层
我應該基礎不好,試來試去也不能用你們聰明的方法分解得回來的數據,唯有用笨笨的方法吧

TA的精华主题

TA的得分主题

发表于 2014-11-1 10:16 | 显示全部楼层
blanksoul12 发表于 2014-11-1 08:40
我應該基礎不好,試來試去也不能用你們聰明的方法分解得回來的數據,唯有用笨笨的方法吧

你的方法并不笨,只是因为循环的操作单元格使得效率低下。改用vba数组吧。效率提高百倍不止。

另外发现这个网站自己对数据的split也没处理好。有些文本内容中的逗号都作为分隔符处理了。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-12 08:59 , Processed in 0.020028 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表