这是系列免费教程《Excel VBA:办公自动化》,还是老规矩,看看我们走到哪里了。

1.认识VBA:什么是VBA?

2.这些掌握了,你才敢说自己懂VBA

3.VBA变量5年踩坑吐血精华总结

4.VBA中重要的强制申明,谁看谁明白

我们先看上次分享的案例题目。

在「单元格B2」输入不同的行号,点击「显示答案」按钮,计算「F列」和「H列」对应行号的乘积,并将每个乘积结果加上公共值「单元格B4」的50,将最终结果显示在相应的单元格。

我们首先回顾一下上述的操作,我们先输入不同题号,然后点击宏按钮,整个过程需要2步。

如果题目只有10道,好像看起来没什么,但是如果题目有100道、1,000道或是更多的题目呢?

假设题目1,000道,输入题号+点击按钮2连操作你仅需要1s(那得多快的手速),全部操作完就是1,000s,也就约为17分钟。

如果这个题目的数字再进一步放大呢?我想时间成本就不可想象了。

其实,上述案例是我之前部门同事工作的简化版,他经常要面对机械重复、枯燥乏味的Excel表格操作。

当然了,如今的他早已摆脱当年的那种苦海~

如果你也想早日摆脱机械重复、枯燥乏味的Excel表格操作苦海,下面2个知识点你一定要掌握。

1.for循环

案例:不输入题号,仅点击1次「显示答案」按钮,所有题目答案自动计算后显示在「J列」

我们来分析案例(仅以10道题目来分析)

我们观察发现:行号是变化的,而且是「正向递增加1」的规律。

在《变量》分享那篇文章,我们将这些变化的行号数字更改为「变量」,用x代替,程序被精简为这样:

那时,我们通过将「单元格B2」的值赋值给「变量x」,然后手动变更「单元格B2」的值,从而变更「变量x」的值,那么能不能让「变量x」完全自动变化呢?

我们对之前的代码小小改造一下,仅加2句「For循环结构」代码即可轻松实现一键自动计算上述案例答案:

我们把上述代码单独拿出来,分析一下

For循环主要分为3个部分,分别为:

(1)循环开始

标准的书写格式为「For xxx = xxx To xxx Step xxx」,表示的意思是「变量xxx」的值从xxx变化为xxx,每次增加xxx

(2)循环内容

循环内容根据工作需求书写相关执行代码就好,一般都是循环的核心代码,比如这里的循环内容就是「J列某行单元格」=「F列某行单元格」*「H列某行单元格」+ 50

(3)循环结束

标准的书写格式为「Next xxx」,表示的意思是「下一个xxx的值」

[备注]

a.「Step」可以取正整数和负整数,也可以省略不写;当「Step」省略不写时,值默认为1。

b.「Next xxx」中的「变量 xxx」可以省略不写,但建议完整书写,不省略。

我们来模拟一下上述「For循环结构」的程序运行过程:

(1)程序读取「循环开始」语句「For x = 1 To 10 Step 1」

由于我们使用了「For循环开始」,并且严格规定了「变量X」的值从1变为10,每次仅增加1,即:x可以取1 2 3 4 ...10。而本次「x = 1」

(2)读取第2句「循环内容」代码「Cells(x, 10) = Cells(x, 6) * Cells(x, 8) + h」

由于第1句代码确定了「x = 1」,而「Cells(4, 2) = 50」以及「h = Cells(4, 2)」,那么「h = 50」。因此,上述代码可以翻译为:「单元格J1」= 「单元格H1」* 「单元格F1」+50。最后,程序到单元格获取对应的值即可。

(3)读取第3句「循环结束」代码「Next x」

此时,「变量 x = 2」

(4)程序回到第1句读取「循环开始」语句「For x = 1 To 10 Step 1」

我们可以看到此时程序自动返回「循环开始」的地方,由于此时「变量 x = 2」仍然符合「X 从 1 变为 10 每次增加1」这个区间,因此程序接着运行,一直等到「变量 x = 11」的时候,程序会跳出循环,执行下一个语句。

(5)我们看下最终的程序的执行结果

看到这里我们大家也许就明白了,所谓的「For循环结构」就是:

提前设置一定的条件或规则,然后程序自动按照设定的条件或规则自动运行,等到不符合设定的条件或规则时,程序跳出循环结构,执行下一个句子。

那么,我们就可利用「For循环结构」这种符合条件自动运行的特性,根据工作场景书写相关代码即可。

2.代码排版

按照马斯洛的需求层次理论,我们在达到一定的需求层次之后,会追求更高的需求层次。

那么,这句话应用到VBA代码领域就是:在我们掌握了一定的代码基础之后,我们就希望掌握更强的VBA技能。(这些技能你只要跟着我们的VBA分享课一步一个脚印练习,一定能够惊叹自己的超能力)

但真正的VBA高手不仅取决于VBA代码实力,还取决于自己写的代码别人能不能看懂,也包括自己日后能不能看懂。(别问我为什么,因为我经历过翻译自己代码的痛苦)

很明显,更喜欢右边的排版,因为它排版干净、代码从属关系清晰,更易阅读。

所以说,我们不仅要多金(技能强),还要帅气(排版好)

那么,如何实现上述帅气的排版呢?很简单,戳一下就可以

(1)按「Tab」代码缩进

(2)点选VBE编辑器的缩进按钮

正所谓:“帅气”VBA路,从Tab起步

3.总结

(1)For循环结构

提前设置一定的条件或规则,然后程序自动按照设定的条件或规则自动运行,等到不符合设定的条件或规则时,程序跳出循环结构,执行下一个句子。

(2)VBA代码排版

“帅气”VBA路,从Tab起步

推荐:人工智能时代的必学技能

vba结束本次循环进行下次_VBA掌握循环结构,包你效率提高500倍相关推荐

  1. 循环结束后变回去 设置一个值_VBA掌握循环结构,包你效率提高500倍

    这是系列免费教程<Excel VBA:办公自动化>,还是老规矩,看看我们走到哪里了. 1.认识VBA:什么是VBA? 2.这些掌握了,你才敢说自己懂VBA 3.VBA变量5年踩坑吐血精华总 ...

  2. c语言中结束本次循环的语句是什么

    c语言中结束本次循环的语句是"continue".控制语句continue只能作用于循环体中,其作用是结束本次循环,跳到判断循环的位置,即重新开始下一次循环. 在C语言中,控制语句 ...

  3. c语言中什么语句的作用是结束本次循环,c语言中结束本次循环的语句是什么

    c语言中结束本次循环的语句是"continue".控制语句continue只能作用于循环体中,其作用是结束本次循环,跳到判断循环的位置,即重新开始下一次循环. 本教程操作环境:wi ...

  4. jQuery中each的用法之退出循环和结束本次循环

    $.each(array, function(k, v) {}); jQuery中each类似于javascript的for循环 ,但不同于for循环的是在each里面不能使用break结束循环,也不 ...

  5. Linux centosVMware shell编程 for循环、while循环、break跳出循环、continue结束本次循环、exit退出整个脚本...

    一.for循环 语法:for 变量名 in 条件; do -; done 案例1 #!/bin/bash sum=0 for i in `seq 1 100` do sum=$[$sum+$i] ec ...

  6. python强制退出循环_for循环、while循环、break跳出循环、continue结束本次循环、exit退出本次脚本...

    for循环 格式: for i in `seq 1 3` //表示从1-3,运行3次,i=1,i=2,i=3; do echo $i //每次执行输出 变量i的值 done //for循环结尾 或 f ...

  7. for循环、while循环、break跳出循环、continue结束本次循环、exit退出脚本

    for循环 •语法:for 变量名 in 条件; do -; done 示例 计算1到100所有数字的和 #!/bin/bash sum=0 for i in `seq 1 100` dosum=$[ ...

  8. 【Shell】Shell脚本(for循环,while循环,break跳出循环,continue结束本次循环)

    目录 for循环 设置for 循环的分隔符 while循环 until循环 SHELL加法运算及I++ 有两个命令能帮我们控制循环内部的情况: break命令 continue命令 break命令是退 ...

  9. vba 跳出for循环_ExcelVBA的三重FOR循环退出

    在使用Excel的VBA功能实现数据查询时,经常用到三重FOR循环查询,如果全部把这些循环查询一遍,需要很长的时间,电脑运算也特别慢.如何才能快速退出三重FOR循环呢?如果用ExitFor,则会退出所 ...

最新文章

  1. pandas使用resample函数计算每个月的统计均值、使用matplotlib可视化特定年份的按月均值
  2. XMLHttpRequest
  3. ARSessionConfiguration报错问题
  4. Java程序员如何做到Java架构师
  5. surfaceView和View区别
  6. 苹果手机咋截屏_才知道,苹果手机轻点2下就能截屏,还支持长截图厉害了
  7. deque用法深度解析,一篇文章弄懂deque容器各种操作
  8. 生产批量检查web url并通过手机邮件报警案例
  9. 第四章 Python数据分析-描述性分析
  10. 2021年还能用的13款完全免费的Office插件整理(含功能详细介绍)
  11. 项目视频讲解_基于SSH2+Maven+EasyUI+MySQL技术实战开发易买网电子商务交易平台
  12. html太极旋转css,前端CSS技巧之太极旋转图详解
  13. oracle otl,使用OTL操作Oracle数据库
  14. 七缸发动机预热,docker swarm + .net core 高速飙车成功
  15. 高德地图API 前端调用 搜索定位
  16. java导出word纸张方向_java导出word的几种方式
  17. 特斯拉改版Model3更便宜/ 贾跃亭又被申请限消/ GPT-3更新…今日更多新鲜事在此...
  18. RocketMQ占用内存过大的解决方法
  19. 测试工程师必读经典好书,自动化测试和测试开发的同学必看
  20. UE4引擎之Commandlet命令

热门文章

  1. HTML+CSS+JS实现 ❤️canvas酷炫表白爱心动画❤️
  2. zookeeper 密码_Dubbo、ZooKeeper介绍
  3. oracle 安装乱码,linux安装Oracle中文乱码问题汇总
  4. java二重循环计数_java的二重循环代码样例
  5. MySql 查询显示
  6. python实例 81,82
  7. 【youcans 的 OpenCV 例程200篇】149. 图像分割之边缘模型
  8. python定义空数组_在numpy数组中设置空值
  9. Postman入门到精通01
  10. 物联网初步之电阻性电路分析 第三部分 电路分析方法和电路原理