怎么用Excel VBA实现”复制贴上“(下),鑫大叔Excel VBA第二期

鑫大叔
·
·
IPFS
·
这期主要介绍While ... Wend循环结构的用法、如何在Excel功能区加入开发人员标签和常用功能、如何让你不用每次开启带有巨集的Excel都要点“启用内容”。备注:教学文推荐用电脑阅读。

🔷介绍🔷

没看上一期的可能不清楚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列。
  • 可能有点混乱,但只要实际跑一遍就会理解了

🔷本期范例下载🔷

点我下载,档案打开后注意下是不是有下图的警告,这是要使用者确认这个巨集是否可信,以免执行了有问题的巨集。点击“启用内容”就可以正常使用了。

初始Excel安全设定会自动关闭巨集,所以需要点击“启用内容”解锁


🔷在功能区加入开发人员标签🔷

这个标签不是必须,但是有了方便很多。例如可以录制巨集,也不用一定要用快捷键(alt + F11)开启VB编辑器了。

❇️ 整个开启流程:

  • 档案>>其他... >>选项>>自订功能区>> 勾选 开发人员

❇️ 第一步,看看你的Excel是不是已经有“开发人员”标签了,有可以跳过这个小单元,没有就点“档案”。

看看你的Excel是不是已经有“开发人员”标签了,没有就点“档案”

❇️ 第二步,点击“其他” >> “选项”,开启Excel选项。

开启Excel选项

❇️ 第三步,点击“自订功能区”,勾选”开发人员“,再点“确定”,大功告成。

Excel选项


🔷开发人员标签下有哪些常用的功能? 🔷

大叔认为比较常用的功能(开发人员标签)
  • Visual Basic:开启VB编辑器,和快速键(Alt + F11)一样效果
  • 巨集:叫出巨集对话框,做进一步的设定,后续会继续介绍这个功能。
  • 录制巨集:编程好帮手,用它录出来的程式码不好用,却是极好的范本,修改一下就能直接套用到你的巨集里。个人觉得这个功能在学习VBA初期,除了让你觉得好玩,用处不大,所以等后续才解说如何使用和如何修改录制出来的程式码。
  • 巨集安全性:上期提到每次打开带有巨集的档案都会有如下图的警告,这是因为Excel初始安全设定,如果不想要每次都要多点一下“启用内容”,就需要在这里修改安全性。
初始Excel安全设定会自动关闭巨集


🔷如何让你不用每次开启带有巨集的Excel都要点“启用内容” 🔷

❇️ 第一步,在“开发人员”标签下点击“巨集安全性”叫出巨集设定对话框。

❇️ 第二步,选择“启用所有巨集”,并点击“确定”。

如何设定成默认自动启动所有巨集


🔷 下期预告 🔷

  • 目前有人要求资料库中提取数据,待我进一步了解需求再来准备~




小测试,请无视我

CC BY-NC-ND 2.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!