excel vba 网页数据抓取(【干货】一下的学习心得体会,你值得拥有!!)
优采云 发布时间: 2022-04-05 09:09excel vba 网页数据抓取(【干货】一下的学习心得体会,你值得拥有!!)
作为办公自动化的坚定实践者,经过7年的办公自动化经验,10万行VBA代码,40+实践项目的积累,我想和大家分享一下我的VBA学习心得。
VBA优势
1、办公辅助技能,大大减少人工重复操作,提高工作效率和准确性。
2、学习成本比较低,性价比高,学习快效果好,正反馈强。
3、网上有很多常用功能的现成代码,简单修改即可实现。
VBA学习心得1、一定要了解VBA的基础知识
可以买书或者看视频教程(最基本的变量、循环、数组、字典、正则、事件等都需要懂),不然不知道怎么下手别人的现成代码.
你可以找到适合你的书籍和视频,在网上都是一样的,只要你能看。我是从看我要自学的曾宪智老师的VBA教程开始的。
就这样吧,虽然Excel的版本有点老了,但是教程还是有用的。非常适合初学者学习。
比如关于range的用法,介绍的很详细,再解释一下常用的用法和例子。
2、在电脑上多做动手练习,加深印象
看完书上的讲解或者视频,一定要多上电脑,尝试一下你看过的每个知识点的例子,加深对代码的理解。如果中途遇到问题,赶紧翻书或者看教程如何利用这个知识点解决问题。并尝试再次自己输入代码,或录制宏来修改代码。这将是非常令人印象深刻的。
例如,关于动态获取小区面积的方法,最常用的方法是使用(End)。
但是如果你自己在电脑上写代码,你很可能记不住是range.end(xlup)还是range.xlup(end),还是range.end(3) , range .end(4)有什么区别。
再举一个例子,VBE 编辑器不会提示某些代码写更少的字母。对于新手来说,提出错误信息也令人困惑。
下图其实是一个超低级的错误,Worksheets拼错了一个字母e。
所以你必须自己敲代码并练习手感。光看不练,学不好。
3、学习积累常用代码示例并修改
很多VBA函数都有一个通用的代码框架,网上很多大神都分享过。我们可以把这些常用函数的VBA代码积累起来,记住这个框架,这样在实际工作场景中会更有效率,更有效率。
在你根据自己的需要改了几次之后,你会逐渐养成自己写代码的“感觉”,慢慢的你就会从输入代码变成输出代码。
比如批量操作工作簿的功能,下面的代码就是一个通用的框架:
Sub 批量操作工作簿()
Application.ScreenUpdating = False
myfile = Dir(ThisWorkbook.Path & "\*.xls*")
Do While myfile ""
If myfile ThisWorkbook.Name Then
Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & myfile
(自定义功能的代码)
Else
End If
myfile = Dir
Loop
Application.ScreenUpdating = True
MsgBox "完成"
End Sub
(自定义函数的代码)这个地方是我们实际需要对工作簿进行一些操作的地方。
有了这个框架,我们可以做很多事情:
如果要合并多个工作簿,只需将上面的(自定义功能代码)替换为以下内容:
wb.worksheets(1).range("a1").usedrange.copy ThisWorkbook.Worksheets(1).range("a1")
如果要查找内容为“hello”的单元格的行号并赋值,则只需将上面的(自定义功能代码)替换为以下内容:
ThisWorkbook.Worksheets(1).Cells(a, 1) = wb.worksheets(1).Cells.Find("hello",xlValues).row
类似的例子还有很多,不用背代码也能套用很多代码。只需要多积累和整理,需要时直接使用即可。
以下是我积累整理的一些VBA示例代码,分门别类,方便日后查询和使用。可以查看具体的文章:
细胞操作
示例(1)- 批量生成工资表
示例 (5) - 快速合并 n 个具有相同值的单元格
示例(9)-批量插入,删除表中的空白行
示例(11) - 拆分单元格并自动填充
示例(12)- 如何合并多个单元格而不丢失单元格的数据?
示例(13)-自动生成序号,一键排版(列宽、行高适配等)
示例(29)- 快速实现合并单元格的填充
工作表(书)操作
示例(2) - 将工作表批量拆分为单独的文件
示例(3) - 多个工作簿的批量合并
Instance (4) - 根据已有名称批量新建表
示例(7)- 一键批量打印工作簿
示例(30)- 为多个工作表创建目录和超链接
数据汇总
示例(6)- 多张表数据一键汇总到总表
示例(19)-一键汇总不一样的表到总表
数据提取
示例(8)- 使用正则表达式进行目标提取
示例(10)- 计算同一列中出现的次数并标记它
示例(14) - 根据指定单元格的值复制并插入相同数量的行
示例(15)- 按指定字段一键过滤,获取最低价记录
示例(16) - 按指定字段批量提取内容
示例(17) - 遍历多个工作簿并将内容提取到主表
示例(18) - 一键将单列长数据均匀拆分为多列
示例(20) - 一键填写每月员工访问区域
示例(22) – 一键过滤其他工作表或工作簿中的数据
示例(24) - 一键批量查询新股(债)
示例(27) - 一键按列排序并保存单独的文件
Example (34) - 快速匹配不同名字的数据,这是vlookup做不到的
示例(36) - 一键提取网页中的表格数据
示例(37) - 快速提取手机号和归属地
字操作
示例(23) - 一键批量提取词表内容
示例(26) - 一键批量提取word文本内容
示例(28) - 批量生成word报告
示例(33) - 一键提取word中的粗体文本
数据抓取
示例(39)-一键快速查询基金信息和基金净值
示例(40)-一键快速查询基金代码
示例(41)-一键批量查询汉语拼音、部首、笔画等信息
其他
示例(25) - 班级随机滚动和播放
示例(21) - 如何快速准确地输入数据
示例(31) - 自定义 VBA 代码的快捷键
示例(32) - 批量替换隐藏的神秘字符
示例(35)-一键批量ppt转pdf
示例(38) - 批量插入图片并完美匹配单元格大小
如何在excel中快速聚合多个类别?
VBA运行后添加进度条,爽吗?
两句代码快速提高VBA操作效率
正则表达式,查找和过滤数据的强大工具,你做不到!
你也可以去这里查看这些有组织的 VBA 示例:40+ VBA 示例链接
4、善用宏录制功能
VBA 对新手最友好的方面之一是记录宏的能力。
比如你要实现一个功能,书本和视频教程讲授的案例就不涉及了。毕竟,案例不可能详尽无遗。然后就可以使用录制宏的功能了,点击录制宏,然后在录制的过程中,任何表格操作都会形成对应的VBA代码,让我们很容易知道一些函数的代码是怎么写的。
5、访问更多 vba 论坛
EH论坛是学习vba最好的论坛,到处都是宝。
如果你没有太多的时间去购物,你肯定会收获很多。