怎么用Excel VBA实现”复制贴上“(下),鑫大叔Excel VBA第二期
IPFS
🔷介绍🔷
没看上一期的可能不清楚VBA是什么,简单来说是一种主要用于Microsoft Office的编程语言,适合没学过编程的人用(因为容易)。这里主要讨论Excel用的VBA。更多介绍请去看第一期。
🔷 VBA循环结构🔷
循环结构就是用来重复执行同一段代码,重复次数通过特定条件控制。
VBA主要有三种循环结构,分别为For、While和Loop,每种又有几种小变化,刚开始会一种就够用了。这次范例用While ... Wend。
范例代码如下:
Sub Macro2() r = 0 c = 2 While r < 100 r = r + 1 Sheets("B").Cells(r, c) = r Sheets("C").Cells(r, c + 1) = Sheets("B").Cells(r, c) Wend End Sub
🔷 VBA代码解说(范例1) 🔷
❇️ 变数
r = 0 c = 2
- 这里“r”和“c“是变数,我们这里定义他们一个等于数字0,一个等于数字2
- 变数(Variable) :程式在处理资料的时候常常会用到变数,主要用来暂存资料,变数代表的数据会经常变动,故名“变数”。
- 变数命名规则:第一个字必须是英文字母或中文字,之后可以随意使用中文、英文、数字、或底线符号(“_”),简单来说就是,如果跑程式出错,改就是了。
❇️ While ... Wend
While r < 100 Wend
- 上面提到的While ... Wend用法之一,”r < 100“就是它的循环条件。用人话来说就是只要r小于100,这个宏就会一直重复的从While跑到Wend,当然也会执行在它们之间的代码,直到你受不了强制关掉为止。
❇️ 算数运算子中的加法
r = r + 1
- 不知道你还记得小时候学的加减乘除吗?啥,你忘记了?慢走不送! ! !别打我,开个玩笑而已…… 我们前面定义r=0,所以r+1就是1,下一次再加1就是2。
- 好吧,那这行有啥用处呢?还记得上面提到的While ...... Wend吗?只要r小于100就会一直循环,所以为了不让他循环天荒地老,我们每循环一次就给r加1,这样循环99次r就会等于100,循环就会因为不符合条件停止。
- 算数运算子(Operator)都有哪些:加法(+)、减法(-)、乘法(*)、除法(/)、整数除法(\)、余数(Mod)、次方(^)。后续会讲解有用到的部分。
❇️ 工作表、存储格的应用
Sheets("B").Cells(r, c) = r Sheets("C").Cells(r, c + 1) = Sheets("B").Cells(r, c)
- 这两行是在上一期的的基础上修改,差别只在于r和c。所以在开始While ... Wend之前,r是1,c是2。
- 因为这两行是放在While ... Wend之间,所以变数r因为前一行的r=r+1一直改变,因此第1行“ Sheets("B").Cells(r, c) = r ”代表:工作表B的C列从第1行到99行,每行都会填上与行数相对应的数字。
- 第2行“ Sheets("C").Cells(r, c + 1) = Sheets("B").Cells(r, c) ”代表:工作表C会复制工作表B的内容,只不过工作表B在B列的内容会被复制到工作表C的C列。
- 可能有点混乱,但只要实际跑一遍就会理解了
🔷本期范例下载🔷
点我下载,档案打开后注意下是不是有下图的警告,这是要使用者确认这个巨集是否可信,以免执行了有问题的巨集。点击“启用内容”就可以正常使用了。
🔷在功能区加入开发人员标签🔷
这个标签不是必须,但是有了方便很多。例如可以录制巨集,也不用一定要用快捷键(alt + F11)开启VB编辑器了。
❇️ 整个开启流程:
- 档案>>其他... >>选项>>自订功能区>> 勾选 开发人员
❇️ 第一步,看看你的Excel是不是已经有“开发人员”标签了,有可以跳过这个小单元,没有就点“档案”。
❇️ 第二步,点击“其他” >> “选项”,开启Excel选项。
❇️ 第三步,点击“自订功能区”,勾选”开发人员“,再点“确定”,大功告成。
🔷开发人员标签下有哪些常用的功能? 🔷
- Visual Basic:开启VB编辑器,和快速键(Alt + F11)一样效果
- 巨集:叫出巨集对话框,做进一步的设定,后续会继续介绍这个功能。
- 录制巨集:编程好帮手,用它录出来的程式码不好用,却是极好的范本,修改一下就能直接套用到你的巨集里。个人觉得这个功能在学习VBA初期,除了让你觉得好玩,用处不大,所以等后续才解说如何使用和如何修改录制出来的程式码。
- 巨集安全性:上期提到每次打开带有巨集的档案都会有如下图的警告,这是因为Excel初始安全设定,如果不想要每次都要多点一下“启用内容”,就需要在这里修改安全性。
🔷如何让你不用每次开启带有巨集的Excel都要点“启用内容” 🔷
❇️ 第一步,在“开发人员”标签下点击“巨集安全性”叫出巨集设定对话框。
❇️ 第二步,选择“启用所有巨集”,并点击“确定”。
🔷 下期预告 🔷
- 目前有人要求资料库中提取数据,待我进一步了解需求再来准备~
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!