小白理财
财富从此刻开始!

如何查询自己的股票代码(股票代码全表)

如何查询自己的股票代码(股票代码全表)

【分享成果,随喜正能量】孩子若是平凡之辈,那就承欢膝下;若是出类拔萃,那就展翅高飞;接受孩子的平庸,就像孩子从来没有要求父母,一定要有多么优秀一样。穷不怪父,孝不比兄,苦不责妻,气不凶子。。

《VBA信息获取与处理》教程是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪贴板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。是非常抽象的,更具研究的价值。

教程共两册,八十四讲。今日的内容是专题十:“利用QueryTables抓取网络数据”:VBA中QueryTables提取股票历史交易信息

大家好,这讲讲解的是利用QueryTables实现抓取网页数据的具体应用,在上一讲的讲解中,我们看到QueryTables方法利用起来代码确实是非常简单,实现的效果也是非常好的。这讲我们继续讲解这种方法的利用。这一讲我们将完成提取某支股票历史交易信息的数据。

上述的网页中,我要提取的是红色框框起来表的数据,我们进行一下思路的分析:首先清空一下回填数据的区域,然后用QueryTables.Add方法,在网页上提取序号为4的表的数据即可。提取表数据的时候可以选择一下格式的填充。在利用Add方法进行连接的时候要将年和季节的参数给出,同时回填数据的区域选择A5单元格。

为了验证一下网址,我们可以在工作表中的某个单元格中留存一下网址。以备核对。

为了实现上述的思路,我给出了下面的代码:

Dim strQuery As String

ActiveSheet.UsedRange.Offset(4).ClearContents

GPCode = Cells(1, 4).Value

myN = Cells(2, 4).Value

myJ = Cells(3, 4).Value

.RefreshOnFileOpen = False

.BackgroundQuery = True

.SaveData = True

.PreserveFormatting = True

.AdjustColumnWidth = False

.RefreshPeriod = 0

.WebSelectionType = xlSpecifiedTables

.WebFormatting = xlWebFormattingNone

.Refresh BackgroundQuery:=False

End With

End Sub

代码的讲解:

ActiveSheet.UsedRange.Offset(4).ClearContents

以上代码清空数据的回填区域,注意第二句的写法。

2)GPCode = Cells(1, 4).Value 取得股票的代码

3) myN = Cells(2, 4).Value 取得要查询的年

4) myJ = Cells(3, 4).Value 取得要查询的季节

以上取得要连接的URL

在工作表的单元格中备份网址以便核对。

9).RefreshOnFileOpen = False

如果每次打开工作簿时,数据表高速缓存或查询表自动更新,则为 True。 默认值为 False 。 读取/写入 Boolean。

10).BackgroundQuery = True

是否在后台异步执行,如果查询表的查询是异步执行(在后台执行)的,则为 True。

11) .SaveData = True

如果将Data数据随工作簿一起保存,则为 True。 如果仅保存数据透视表的定义,则为 False。 读取/写入 Boolean。

12) .PreserveFormatting = True

如果将数据前五行的任何常用格式设置应用到查询表的新数据行,则为 True。 未使用的单元格未格式化。 如果将应用到查询表的最新一次自动套用格式应用于新数据行,则属性为 False。 默认值为 True。对于数据库查询表, 默认格式设置为xlSimple 常量。

刷新查询表时,将对查询表应用新的自动套用格式样式。 只要 PreserveFormatting 的值为 False,则 AutoFormat(自动套用格式)就会被设置为 None。 因此, 在PreserveFormatting之前设置的任何自动套用格式设置为False , 并且在刷新查询表之前不会生效, 并且生成的查询表不会应用任何格式。

13) .AdjustColumnWidth = False

如果每次刷新指定的查询表时列宽都会自动调整为最适合的宽度,则为 True。 如果每次刷新时列宽不进行自动调整,则为 False。 默认值为 True 。

14) .RefreshPeriod = 0

返回或设置两次刷新之间的时间间隔。 读/写 Long。将周期设置为 0(零),则会禁用自动定时刷新,并且等同于将该属性设置为 Null。RefreshPeriod 属性的值可以是从 0 到 32767 的整数。

15) .WebSelectionType = xlSpecifiedTables 指定表

16) .WebFormatting = xlWebFormattingNone 提取表的数据无格式

18) .Refresh BackgroundQuery:=False

更新一个查询表数据。Updates an external data range in a QueryTable object.

上面的各个属性给大家进行了详细的讲解,希望大家能了解。

通过上述的代码,就可以完成我们的思路。

当我们点击运行按钮,如图的箭头所示,程序就会开始运行,抓取网页数据到工作表中。当然在实际的应用中,用户可以根据自己的实际需要完成抓取工作到指定的位置。

从而验证了我们思路的正确。从代码到实现的过程,非常的简洁,代码理解也非常的容易,这给我们的学习和利用带来了方便。

本节知识点回向:如何利用QueryTables对象各种属性的理解和掌握。

我20多年的VBA实践经验,全部浓缩在下面的各个教程中,教程学习顺序:

【分享成果,随喜正能量】识人不必探尽,探尽则多疑;知人不必言尽,言尽则无友;责人不必苛尽,苛尽则众远;敬人不必卑尽,卑尽则无骨;让人不必退尽,退尽则路窄。是人当寻宁静内而不在他处,当一个人的内在是寂静的,自我就会消失。。

赞(0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

理财,财富从此刻开始!