vba九九乘法表代码_EXCEL循环语句FOR NEXT中的嵌套(九九乘法表)

这节我们用VBA来做个九九乘法表:

50fa0fc7dd68a97cc3632bada4d975bc.gif

这感觉好酸爽啊!

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次。

203b0d47ee92c660667c4a194fa7f1bb.gif

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

运行后发现是这样的:

5bcb44abab09399161c6aaa9fcf48b99.png

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。

转自:宏Office

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值