excel网页数据抓取vba(【分享成果,随喜正能量】珍惜自己生活当中的一点一滴,好好积攒自己的福)

优采云 发布时间: 2022-01-23 21:18

  excel网页数据抓取vba(【分享成果,随喜正能量】珍惜自己生活当中的一点一滴,好好积攒自己的福)

  【分享成果,欢喜正能量】珍惜生命的每一点,积累属于自己的福分,不贪,不消耗,懂得珍惜福报是大智慧。

  《VBA数据库解决方案》教程是我推出的第二套教程,目前是第一版。本套教程定位中级,是学完词典后的又一题解说。数据库是数据处理的强大工具。教程中详细介绍了使用ADO连接ACCDB和EXCEL的方法和示例操作。教程第一版的修订内容主要是完成所有程序文件的32位和64位OFFICE系统测试。

  这套教程由两卷八十四讲组成。今后,我们将陆续发布修改后的教程内容。今天的内容是第32讲:ADO从多个EXCEL工作表中提取数据

  

  第32讲 使用ADO从多个EXCEL工作表中提取数据

  大家好,今天为大家讲解VBA数据库解决方案第32讲。使用ADO,可以在几秒钟内实现多张EXCEL工作表的数据提取。我曾经说过:学以致用。如果我们学习而不使用它,那么知识将永远是知识,无法转化为我们的实际成果。因此,在我的资料中,《VBA 代码解决方案》和《VBA 数据库解决方案》都力求实用,将所学知识付诸实践。

  到目前为止,我们已经讲了30多个数据库相关的知识。您必须熟悉连接和打开数据库。今天给大家讲解一下使用ADO连接EXCEL的方法,可以将多个EXCEL数据聚合为一个。文件中的方法。这个讲座的作用非常大,可以为很多数据统计学家开辟思路,希望在工作中更多的运用到。

  1 应用场景具体分析

  例子:我们有三个EXCEL数据表,文件是07版本,记录了16到18年的数据记录,我们需要把这些数据表除了第一行之外的A列的数据汇总到同一个当前EXCEL中表,同时将第一行的数据替换为16年、17年、18年。估计看到我的例子,你会想到自己工作中的很多例子。我给出的三个源数据的文件和内容如下:

  

  16年数据:

  

  17年数据:

  

  18年数据:

  

  为了达到我们的目的,如果我们按照正常的VBA操作,我们需要将这三个文件一个一个打开,然后使用循环语句来提取和处理数据。当然,可以进行这种处理。今天我们要讲的就是用ADO来实现我们的Purpose。

  2 实现从多个EXCEL工作表中提取数据的代码和代码分析

  代码显示如下:

  sub mynz_32() '第32讲,使用ADO、seckill实现从多个EXCEL工作表中提取数据

  [代码见教程]

  结束子

  代码截图:

  

  代码说明:

  1)

  arr = Array("16 years", "17 years", "18 years") 创建一个数组来保存三个文件的名称

  2)

  对于 i = 0 到 UBound(arr)

  strPath = ThisWorkbook.Path & "\" & arr(i) & ".xlsx"

  strTable = "[sheet1$]"

  '建立连接

  cnADO.Open "provider=Microsoft.ACE.OLEDB.12.0;扩展属性='excel 8.0;hdr=no;imex=1';data source="&strPath

  strSQL = "从 " & strTable 中选择 F1,F2,F3,F4,F5

  单元格(t, 1).CopyFromRecordset cnADO.Execute(strSQL)

  cnADO.关闭

  接下来我

  依次建立三个连接来连接这三个EXCEL文件。其中,Cells(i, 1).CopyFromRecordset cnADO.Execute(strSQL) 语句是复制数据,strSQL = "select F1,F2,F3,F4,F5 from " & strTable 指的是数据在 A、B、C、D、E 列中。

  让我们看看代码的执行:

  

  今天的内容回来了:

  1 如何处理多个工作表的数据汇总?

  2 ADO如何连接EXCEL文件?

  本讲内容参考程序文件:VBA与数据库操作(第一卷).xlsm

  

  我 20 多年的 VBA 实践经验都浓缩在下面的各种教程中:

  

  【分享成果,以正能量欢欣鼓舞】不要做自己不喜欢做的事来迎合别人,选择一种不违背内心或降低个性去刻意讨好,但也会让让人感觉舒服,容易接受。为了迎合他人而违背自己内心的社会关系通常难以维持。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线