第四篇VBA实战入门教程中最常见语句

xzdxmynet 发布于 2024-04-26 阅读(103)

编者按:大家好! 今天是VBA实用入门教程第四期。 我们将为大家带来VBA中最常见的语句之一——判断语句。 典型的判断语句有两种,分别是IF判断语句和判断语句。想要了解更多技巧,请收藏并关注

【前言】

上一篇文章中的循环语句同学们都学会了吗? 如果你还没有学会,你需要给自己施加更大的压力,因为你可能会再次输给别人。 生活就是这样。 短短几十年就在恍惚中过去了。 你总是可以用“没时间”、“不记得”等借口来欺骗自己,也可以“对自己狠一点”。 不管怎样,最终的结果是好是坏。 ,你需要自己去面对。

无论您是否学过,还有另一个重要的 EXCEL VBA 语句即将推出。 为什么来得这么快? 因为它是“循环语句”的CP——“判断语句”。 “循环”必须在实际工作中使用。 参见“判断”!

【文本】

在日常工作中,我们常常需要遍历众多“对象集合”中的每一个对象来达到数据处理的结果。 无论是EXCEL、ERP,甚至高级语言和JAVA都是如此。 还有循环语句结构,这是关系数据的处理特点。 但在我们的周期中,因为需求不同,并不是所有的数据内容都是我们需要的。

然后我们需要对每一行数据进行筛选,让计算机来帮我们判断。 如果需要则处理,如果不需要则PASS。

1. IF判断语句

其实判断语句大家应该都很熟悉,因为工作表函数中就包含了IF判断函数。 如此经典,VBA怎能放过。

1.用一个小案例来理解IF判断语句

(例1)需求,判断身份证号码的位数是否正确。

如果你看到这样一组号码,不管号码信息是否正确,只看位数,你很难知道是否是18位,所以用code就很方便了此时对其进行处理,如下:

sub判断ID号位数是否正确()

with(“IF判断语句”)

对于 i = 2 到 10

如果 Len(.Cells(i, 1)) = 18 那么

.Cells(i, 2) = "18 位"

万一

接下来我

结束于

结束子

语句的拼音_vba select case语句_语句是什么意思

【代码分析】

Line1:使用工作表“IF判断语句”作为代码中引用对象的统一父对象;

Line2:指定循环变量i的范围为2到10。因为我们是遍历单元格,逐行判断,所以循环变量应该以单元格的行号作为循环依据,所以是ROW2到ROW10;

Line3:Cells(i, 1)表示是某行与第一列的交集单元格。 当i变量为2,3,4,...,10时,对应的单元格地址为A2,A3,A4,...,A10。 使用LEN函数提取单元串的长度并判断是否等于18;

Line4:如果满足判断条件,则在Cells(i, 2)对应的B列单元格中输入“18位”;

Line5:判断语句的结束语句;

Line6:循环语句的结束语句;

第7行:With语句的结束语句。

2.IF判断语句的语法

从上面的示例1我们可以看到,当满足判断条件时,返回了相应的结果,但是留下了很多空单元格。 现在我们正式了解一下IF判断函数的语法,如下:

这就是IF判断语句的完整语法。 和IF函数一样,当满足一定程度的判断时,返回相应的结果,并跳出判断。 其中的语句相当于IF函数的嵌套使用,Else相当于IF函数。

3.通过案例学习IF判断语句

出于实际考虑,我们继续看两个案例,帮助大家更好地理解IF判断语句的用法,如下:

(例2)需求:判断A列的值的奇偶性,代码如下:

子奇偶校验()

与(“奇偶校验”)

a = .[A1].End(4).Row

对于 i = 2 至 a

如果 .Cells(i, 1) Mod 2 = 0 那么

.Cells(i, 2) = "偶数"

别的

.Cells(i, 2) = "奇数"

万一

接下来我

结束于

结束子

【代码分析】

Line1:使用工作表“parity”作为代码中引用对象的统一父对象;

Line2:使用单元格的End属性和Row属性找到数据区域最后一行的行号并将其赋值给变量a;

Line3:指定循环变量i的循环范围为2到a,循环每一行数据(不包括表头);

Line4:判断Cells(i,1)第一列的每个单元格除以2(Mod函数)是否等于0;

Line5:如果等于0,则对应的Cells(i,2)单元格被赋值为“even”;

Line6:否则,当不满足上述条件时;

Line7:对应的Cells(i,2)单元格被赋值为“odd”;

Line8:判断语句的结束语句;

第9行:循环语句的结束语句;

:With 语句的结束语句。

尖端

Mod 函数也出现在工作表函数中,但其语法在 EXCEL VBA 中有些不同。 我教学生一个方法来记忆:在VBA中你可以将其理解为“运算符号”,例如对于4/5、6*8、21-6等计算,余数为235 Mod 62,即表示 235 除以 62 的余数。

(例3)根据需求,大家的佣金按照制度进行。

不要以为我们一直在谈论基础知识。 VBA没有绝对的基础。 缺少任何一个环节都可能让你使用VBA不顺利。 我们现在就用判断语句来解决学生工作中的一个实际问题。想要学习更多技巧,请收藏并关注

数据来源就不用多说了,作者在之前的文章中已经讲了很多E图的表达方式,包括区间的写法。 言归正传,代码如下:

子佣金计算()

with (“计算佣金”)

a = .Range("A1").End(4).Row

对于 i = 2 至 a

如果 .Cells(i, 3) < 100 那么

.Cells(i, 4) = "销售额*85%*1%"

.Cells(i, 5) = .Cells(i, 3) * 0.85 * 0.01

.Cells(i, 3) >= 100 并且 .Cells(i, 3) < 200 然后

.Cells(i, 4) = "销售额*85%*2%"

.Cells(i, 5) = .Cells(i, 3) * 0.85 * 0.02

.Cells(i, 3) >= 200 且 .Cells(i, 3) < 500 然后

.Cells(i, 4) = "销售额*85%*3%"

.Cells(i, 5) = .Cells(i, 3) * 0.85 * 0.03

别的

.Cells(i, 4) = "销售额*80%*8%"

.Cells(i, 5) = .Cells(i, 3) * 0.8 * 0.08

万一

接下来我

结束于

结束子

这是IF判断语句最全面的写法,基本涵盖了与判断语句相关的所有内容。 由于篇幅限制,需要给同学们思考的空间,以上代码没有给出代码分析过程。 主要思想是IF(IF(IF))的嵌套使用。

尖端

如果需要满足两个条件,我们可以使用AND,它仍然和IF工作表函数相同,但不同的是语法是“条件1 AND 条件2 AND 条件N”; 如果有多个条件,则选择一个,只需使用 OR,“条件 1 OR 条件 2 OR 条件 N”; 如果是更复杂的情况,例如:(条件1 AND 条件2) OR 条件3,则表示条件1和条件2都满足,或者只有条件3是独立的。 满足。 这一逻辑过程可以举一反三。

2、判决书

因为IF函数已经深入人心,所以我们一开始就讲解了IF判断语句。 其实EXCEL VBA中判断语句还有另一种写法,那就是判断语句。 语法如下:

我们看一个案例来说明问题,考勤统计:

忽略缺勤和缺勤情况,这个案例只是为了说明判断语句的使用。 代码如下:

晚点和早点出发()

与(“出席”)

a = .[C1].End(4).Row

我 = 2

当我做的时候

标签:  语句 判断 循环 单元 语法 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。