我的目标:让中国的大学生走出校门的那一刻就已经具备这些office技能,让职场人士能高效使用office为其服务。支持我,也为自己加
我以前写过一篇关于九九乘法表的文章,那时候是用函数公式做的,有兴趣的同学可以阅读下: 《九九乘法表》 今天我们用VBA来做个九九乘法表: 这感觉好酸爽吧!? VBA代码如下:Sub 九九乘法表()Dim num1%Dim num2%For num1 = 1 To 9 For num2 = 1 To 9 If num2 > num1 Then Exit For Else Cells(num1, num2) = num2 & "x" & num1 & "= " & num1 * num2 End If Next num2Next num1End Sub
我们来剖析下具体的过程:
1、
九九乘法表一共有两个变量相乘,所以我们定义两个变量num1,num2;
Sub 九九乘法表()
Dim num1%
Dim num2%
……
End Sub
2、
两个变量都从1循环到9,所以需要两个For Next 语句
Sub 九九乘法表()
Dim num1%
Dim num2%
For num1 = 1 To 9
For num2 = 1 To 9
……
Next num2
Next num1
End Sub
这里一定要注意顺序,里外层的关系,我们可以把变量输出到Msgbox来观察下两个变量的循环规律。
首先循环最里面的num2,num2从1循环到9,然后再循环num1,num1循环一次,num2要循环9次。(这个非常重要,一定要搞懂!)
3、
要把循环的这些内容放到单元格里,怎么操作呢?我们可以把两个变量当成是1行1列,1行2列,1行3列……
所以:
Sub 九九乘法表()Dim num1%Dim num2%For num1 = 1 To 9 For num2 = 1 To 9 Cells(num1, num2) = num2 & "x" & num1 & "= " & num1 * num2 Next num2Next num1End Sub
运行后发现是这样的:
4、 为了规范,单元格为白色的部分是不需要的,而单元格底色为白色的都是num2大于num1的部分,所以来个判断语句,假如num2 > num1,就退出For循环,这里的For是指num2的循环,否则就Cells(num1, num2) = num2 & "x" & num1 & "= " & num1 * num2。Sub 九九乘法表()Dim num1%Dim num2%For num1 = 1 To 9 For num2 = 1 To 9 If num2 > num1 Then Exit For Else Cells(num1, num2) = num2 & "x" & num1 & "= " & num1 * num2 End If Next num2Next num1End Sub
6、上面有个判断语句,我们是不是可以用IIF代替呢?
Sub 函数法()Dim num1%Dim num2%For num1 = 1 To 9 For num2 = 1 To 9 Cells(num1, num2) = VBA.IIf(num2 > num1, "", num2 & "x" & num1 & "= " & num1 * num2) Next num2Next num1End Sub
这样写是不是更加简洁呢?
本节知识点:声明变量的数据类型为整型的简洁表达,For-Next嵌套循环以及运行的次序,判断语句IF ,退出For循环结构语句Exit For,VBA函数IIF。
本节的分享就到这里,百看不如一练,动手试试才有体会。
想学习更多,请在电脑端打开网址: www.mihong.top鼓励一下,赞完再走