前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VBA程序控制结构示例-九九乘法表

VBA程序控制结构示例-九九乘法表

作者头像
无言之月
发布2019-10-13 15:47:10
1.2K0
发布2019-10-13 15:47:10
举报

大家周末好,本节将以制作九九乘法表为例,来巩固循环结构和判断结构的嵌套应用。下面先演示下最后的效果。

实现九九乘法表的代码相对简单,但涉及结构嵌套很典型,希望通过整个实例可以帮助理解程序结构嵌套。

首先要说明一点没有介绍过的知识,即单元格的cells(行号,列号)属性表示方法,参数分别行号和列号。且列号以数字表示而非字母。比如表示第B列第5行的单元格,为cells(5,2),数字方便使用变量作为参数。而之前提过的单元格range属性,则是常规的range("b5")来表示。

那么下面我们就分步骤来看下如何实现九九乘法表?

1、双循环嵌套

首先分析九九乘法表,实质是一组1至9的数字与另一组1至9的数字,分别两两相乘,并得到相乘的结果。

由于两组数的值均是从1到9,可以联想到,利用for...next循环让两个变量分别从1至9,通过双循环嵌套来实现数字两两相乘。

如下图所示,立即窗口打印的字符是 i, "X", j, "="; i * j。即参数i 、字符X 、参数j 、字符=、 i和j相乘的结果。

2、判断结构嵌套

上一步利用双循环嵌套,实现了1-9内的数值两两相乘,最后的表达式也有了雏形,但是在得到的表达式中有重复相乘的情况。比如i=1、j=9时,结果是1X9=9。而i=9、j=1时结果9X1=9,两者保留其一即可。需要设定判断条件去掉重复表达式。

分析九九乘法表可以发现一个规律,即被乘数都是大于或等于乘数的时候才显示的。据此就可以设定当i>=j为条件,在第二个for循环中嵌套if...then语句,(通常书写时要缩进)符合i>=j时才在立即窗口中显示。

3、单元格中显示结果

经过上面两步后,已经获得需要的表达式,现在需要在单元格中显示,就利用单元格cells属性,使用i和j两个变量值分别作为行号和列号的参数,即 Cells(i, j) = i & "X" & j & "=" & i * j 。

这里变量不需要英文引号,而固定的字符都需要用英文引号括起来,字符与变量之间都需要用连接符&连接,注意变量与&之间需要有空格。比如当i=1,j=2时,结果就是cells(1,2)单元格中显示1X2=2。


下面让我们看下完整的代码,可以自行推演一下代码的运行(示例中加入了表单控件,指定宏,点击即可生成九九乘法表。)

注意代码中注意结构开始和结束对应,判断结构if与end if对应,循环结构for与next对应完整,同时next循环的两个变量嵌套不要颠倒位置,比如for j循环以next j结尾。

Cells(i, j) = i & "X" & j & "=" & i * j 其中变量不需要英文引号,而固定的字符都需要用英文引号括起来,字符与变量之间都需要用连接符&连接,变量与连接符&之间需要有空格。


示例涉及了循环和判断结构的相互嵌套,希望有助于学习程序控制结构,对于指定的数值的乘法表可以当作课后作业,有问题可以给我留言,祝大家学习愉快。


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel和Access学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档