分享

从九九乘法表的代码中学习FOR NEXT中的嵌套!

 L罗乐 2018-03-04


以前写过一篇九九乘法表的文章,那时候是用函数公式做的,有兴趣的同学可以回顾下:

九九乘法表

今天我们用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 num2

Next num1

End 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 num2

Next num1

End 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 num2

Next num1

End Sub


6、上面有个判断语句,我们是不是可以用IFF代替呢?我也是初学VBA,用这种思路去学习也许能对所学知识加深了解。


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 num2

Next num1

End Sub


这样写是不是更加简洁呢?


今天的分享就到这里,本节知识点,声明变量为整型的简便表达,for next里的循环以及运行的次序,判断语句IF else ,退出语句exit ,VBA函数IFF。


视频教程正在陆续录制中(目前录制了八节了),需要的同学可以加我微信号:527240310,付费的,一次付费后,以后所录视频均可以免费索取,而且不懂的地方可以交流。非诚勿扰,谢谢配合!


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多