vba结束本次循环进行下次_VBA掌握循环结构,包你效率提高500倍
![](/assets/blank.gif)
这是系列免费教程《Excel VBA:办公自动化》,还是老规矩,看看我们走到哪里了。
1.认识VBA:什么是VBA?
2.这些掌握了,你才敢说自己懂VBA
3.VBA变量5年踩坑吐血精华总结
4.VBA中重要的强制申明,谁看谁明白
![](/assets/blank.gif)
我们先看上次分享的案例题目。
在「单元格B2」输入不同的行号,点击「显示答案」按钮,计算「F列」和「H列」对应行号的乘积,并将每个乘积结果加上公共值「单元格B4」的50,将最终结果显示在相应的单元格。
![](/assets/blank.gif)
我们首先回顾一下上述的操作,我们先输入不同题号,然后点击宏按钮,整个过程需要2步。
如果题目只有10道,好像看起来没什么,但是如果题目有100道、1,000道或是更多的题目呢?
假设题目1,000道,输入题号+点击按钮2连操作你仅需要1s(那得多快的手速),全部操作完就是1,000s,也就约为17分钟。
如果这个题目的数字再进一步放大呢?我想时间成本就不可想象了。
其实,上述案例是我之前部门同事工作的简化版,他经常要面对机械重复、枯燥乏味的Excel表格操作。
当然了,如今的他早已摆脱当年的那种苦海~
如果你也想早日摆脱机械重复、枯燥乏味的Excel表格操作苦海,下面2个知识点你一定要掌握。
1.for循环
案例:不输入题号,仅点击1次「显示答案」按钮,所有题目答案自动计算后显示在「J列」
![](/assets/blank.gif)
我们来分析案例(仅以10道题目来分析)
![](/assets/blank.gif)
我们观察发现:行号是变化的,而且是「正向递增加1」的规律。
在《变量》分享那篇文章,我们将这些变化的行号数字更改为「变量」,用x代替,程序被精简为这样:
![](/assets/blank.gif)
那时,我们通过将「单元格B2」的值赋值给「变量x」,然后手动变更「单元格B2」的值,从而变更「变量x」的值,那么能不能让「变量x」完全自动变化呢?
我们对之前的代码小小改造一下,仅加2句「For循环结构」代码即可轻松实现一键自动计算上述案例答案:
![](/assets/blank.gif)
我们把上述代码单独拿出来,分析一下
![](/assets/blank.gif)
For循环主要分为3个部分,分别为:
(1)循环开始
标准的书写格式为「For xxx = xxx To xxx Step xxx」,表示的意思是「变量xxx」的值从xxx变化为xxx,每次增加xxx
![](/assets/blank.gif)
(2)循环内容
循环内容根据工作需求书写相关执行代码就好,一般都是循环的核心代码,比如这里的循环内容就是「J列某行单元格」=「F列某行单元格」*「H列某行单元格」+ 50
![](/assets/blank.gif)
(3)循环结束
标准的书写格式为「Next xxx」,表示的意思是「下一个xxx的值」
![](/assets/blank.gif)
[备注]
a.「Step」可以取正整数和负整数,也可以省略不写;当「Step」省略不写时,值默认为1。
b.「Next xxx」中的「变量 xxx」可以省略不写,但建议完整书写,不省略。
我们来模拟一下上述「For循环结构」的程序运行过程:
(1)程序读取「循环开始」语句「For x = 1 To 10 Step 1」
![](/assets/blank.gif)
由于我们使用了「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」
![](/assets/blank.gif)
由于第1句代码确定了「x = 1」,而「Cells(4, 2) = 50」以及「h = Cells(4, 2)」,那么「h = 50」。因此,上述代码可以翻译为:「单元格J1」= 「单元格H1」* 「单元格F1」+50。最后,程序到单元格获取对应的值即可。
(3)读取第3句「循环结束」代码「Next x」
![](/assets/blank.gif)
此时,「变量 x = 2」
(4)程序回到第1句读取「循环开始」语句「For x = 1 To 10 Step 1」
![](/assets/blank.gif)
我们可以看到此时程序自动返回「循环开始」的地方,由于此时「变量 x = 2」仍然符合「X 从 1 变为 10 每次增加1」这个区间,因此程序接着运行,一直等到「变量 x = 11」的时候,程序会跳出循环,执行下一个语句。
(5)我们看下最终的程序的执行结果
![](/assets/blank.gif)
看到这里我们大家也许就明白了,所谓的「For循环结构」就是:
提前设置一定的条件或规则,然后程序自动按照设定的条件或规则自动运行,等到不符合设定的条件或规则时,程序跳出循环结构,执行下一个句子。
那么,我们就可利用「For循环结构」这种符合条件自动运行的特性,根据工作场景书写相关代码即可。
2.代码排版
按照马斯洛的需求层次理论,我们在达到一定的需求层次之后,会追求更高的需求层次。
那么,这句话应用到VBA代码领域就是:在我们掌握了一定的代码基础之后,我们就希望掌握更强的VBA技能。(这些技能你只要跟着我们的VBA分享课一步一个脚印练习,一定能够惊叹自己的超能力)
但真正的VBA高手不仅取决于VBA代码实力,还取决于自己写的代码别人能不能看懂,也包括自己日后能不能看懂。(别问我为什么,因为我经历过翻译自己代码的痛苦)
![](/assets/blank.gif)
很明显,更喜欢右边的排版,因为它排版干净、代码从属关系清晰,更易阅读。
所以说,我们不仅要多金(技能强),还要帅气(排版好)
那么,如何实现上述帅气的排版呢?很简单,戳一下就可以
(1)按「Tab」代码缩进
![](/assets/blank.gif)
(2)点选VBE编辑器的缩进按钮
![](/assets/blank.gif)
正所谓:“帅气”VBA路,从Tab起步
3.总结
(1)For循环结构
提前设置一定的条件或规则,然后程序自动按照设定的条件或规则自动运行,等到不符合设定的条件或规则时,程序跳出循环结构,执行下一个句子。
![](/assets/blank.gif)
(2)VBA代码排版
“帅气”VBA路,从Tab起步
![](/assets/blank.gif)
推荐:人工智能时代的必学技能
![](/assets/blank.gif)
vba结束本次循环进行下次_VBA掌握循环结构,包你效率提高500倍相关推荐
- 循环结束后变回去 设置一个值_VBA掌握循环结构,包你效率提高500倍
这是系列免费教程<Excel VBA:办公自动化>,还是老规矩,看看我们走到哪里了. 1.认识VBA:什么是VBA? 2.这些掌握了,你才敢说自己懂VBA 3.VBA变量5年踩坑吐血精华总 ...
- c语言中结束本次循环的语句是什么
c语言中结束本次循环的语句是"continue".控制语句continue只能作用于循环体中,其作用是结束本次循环,跳到判断循环的位置,即重新开始下一次循环. 在C语言中,控制语句 ...
- c语言中什么语句的作用是结束本次循环,c语言中结束本次循环的语句是什么
c语言中结束本次循环的语句是"continue".控制语句continue只能作用于循环体中,其作用是结束本次循环,跳到判断循环的位置,即重新开始下一次循环. 本教程操作环境:wi ...
- jQuery中each的用法之退出循环和结束本次循环
$.each(array, function(k, v) {}); jQuery中each类似于javascript的for循环 ,但不同于for循环的是在each里面不能使用break结束循环,也不 ...
- 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 ...
- 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 ...
- for循环、while循环、break跳出循环、continue结束本次循环、exit退出脚本
for循环 •语法:for 变量名 in 条件; do -; done 示例 计算1到100所有数字的和 #!/bin/bash sum=0 for i in `seq 1 100` dosum=$[ ...
- 【Shell】Shell脚本(for循环,while循环,break跳出循环,continue结束本次循环)
目录 for循环 设置for 循环的分隔符 while循环 until循环 SHELL加法运算及I++ 有两个命令能帮我们控制循环内部的情况: break命令 continue命令 break命令是退 ...
- vba 跳出for循环_ExcelVBA的三重FOR循环退出
在使用Excel的VBA功能实现数据查询时,经常用到三重FOR循环查询,如果全部把这些循环查询一遍,需要很长的时间,电脑运算也特别慢.如何才能快速退出三重FOR循环呢?如果用ExitFor,则会退出所 ...
最新文章
- pandas使用resample函数计算每个月的统计均值、使用matplotlib可视化特定年份的按月均值
- XMLHttpRequest
- ARSessionConfiguration报错问题
- Java程序员如何做到Java架构师
- surfaceView和View区别
- 苹果手机咋截屏_才知道,苹果手机轻点2下就能截屏,还支持长截图厉害了
- deque用法深度解析,一篇文章弄懂deque容器各种操作
- 生产批量检查web url并通过手机邮件报警案例
- 第四章 Python数据分析-描述性分析
- 2021年还能用的13款完全免费的Office插件整理(含功能详细介绍)
- 项目视频讲解_基于SSH2+Maven+EasyUI+MySQL技术实战开发易买网电子商务交易平台
- html太极旋转css,前端CSS技巧之太极旋转图详解
- oracle otl,使用OTL操作Oracle数据库
- 七缸发动机预热,docker swarm + .net core 高速飙车成功
- 高德地图API 前端调用 搜索定位
- java导出word纸张方向_java导出word的几种方式
- 特斯拉改版Model3更便宜/ 贾跃亭又被申请限消/ GPT-3更新…今日更多新鲜事在此...
- RocketMQ占用内存过大的解决方法
- 测试工程师必读经典好书,自动化测试和测试开发的同学必看
- UE4引擎之Commandlet命令
热门文章
- HTML+CSS+JS实现 ❤️canvas酷炫表白爱心动画❤️
- zookeeper 密码_Dubbo、ZooKeeper介绍
- oracle 安装乱码,linux安装Oracle中文乱码问题汇总
- java二重循环计数_java的二重循环代码样例
- MySql 查询显示
- python实例 81,82
- 【youcans 的 OpenCV 例程200篇】149. 图像分割之边缘模型
- python定义空数组_在numpy数组中设置空值
- Postman入门到精通01
- 物联网初步之电阻性电路分析 第三部分 电路分析方法和电路原理