乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > Excel-VBA 简单的VBA小案例及分析——九九乘法表,文章编号17070901-excel乘号

Excel-VBA 简单的VBA小案例及分析——九九乘法表,文章编号17070901-excel乘号

作者:乔山办公网日期:

返回目录:excel表格制作

前言

首先需要感谢看官您抽空观赏本文,若有任何问题,欢迎您的指正。

另外大家若有什么好的想法或者效果需求,可以在评论区留言或者私信我,我会尽力尝试做一做。

如果您喜欢本文的话,可以点赞、订阅、关注、收藏、留言评论哦!谢谢!O(∩_∩)O~~


情景演示 ①

如上周六我发文所讲的,收纳两位粉丝的建议,所以今天我为大家提供一个VBA很简单的小案例:九九乘法表。

Excel-VBA 简单的VBA小案例及分析——九九乘法表,文章编号17070901

九九乘法表——样式①

对于上图这样一份九九乘法表,在Excel表格中,我们至少可以有以下几种方法实现:

1、手动输入所有的数字,毕竟值不大,口算即可,但相信也没有谁会这么做【输入次数81次】;

2、在每个单元格内输入乘法运算式,如B2:=B1 * A2,但这个方法更麻烦了【输入次数81次】;

3、在输入值的首行或者首列输入公式,如B2:=$B$1 * A2;C3: =$C$1 * A2,一直到 J9,然后选中这一行向下拓展,虽然比方法二简单些,但还不够简便【输入次数9次】;

4、用锁定行值或者列值进行计算,在B2输入:=B$1 * $A2,操作演示如下:

Excel-VBA 简单的VBA小案例及分析——九九乘法表,文章编号17070901

一般运算演示

PS:这里基本算是属于较快的运算办法,但是细心的您应该发现了,当计算完所有值后,所有的格式都发生了变化,如边框都变成了 B2 的样式了,所以做法还是需要改进。

5、一般公式操作流程的再次优化:选中 B2:J10 区域,然后再输入:=B$1 * $A2,按 Ctrl + Enter ;

Excel-VBA 简单的VBA小案例及分析——九九乘法表,文章编号17070901

一般公式运算演示 ①

PS:计算出来的值可以单独修改,每个单元格的样式也没有发生变化。

6、使用数组公式运算:选择区域 B2:J10 ,输入 =A2:A10*B1:J1,然后按 Ctrl + Shift + Enter;

Excel-VBA 简单的VBA小案例及分析——九九乘法表,文章编号17070901

数组公式运算演示 ①

PS:数组公式计算出来的值,不能单个修改,变动一个单元格的值,按 Ctrl + Shift + Enter 时其他单元格内的值会同时变动。


情景演示②

经过了上面的练习操作,我们稍微加大点难度,比如我需要的是下面这样的九九乘法表:

Excel-VBA 简单的VBA小案例及分析——九九乘法表,文章编号17070901

九九乘法表——样式②

那么对于这个样子的表格,似乎想到的可行方法是:先用上面的公式计算出全部的数据,然后按着 Ctrl 键选择不需要的区域,再一起删除。但这样看起来就觉得麻烦,是否能有简单快速的办法呢?

办法肯定是有的,这里只要找到运算逻辑,就能知晓选择用怎样的公式去解决这个问题。

在样表②中,空出来的部分都是属于右上半边的,有数值的部分属于左下半边,每个非空的单元格所对应的行的值与列的值相比较时会发现,列值总比行值要小。所以呢,加入一个判断语句,当列值小于或等于行值时,就计算其乘积,否则让其显示为空。

一般公式的解决办法——公式:=IF(B$1<=$A2,B$1*$A2,"");

Excel-VBA 简单的VBA小案例及分析——九九乘法表,文章编号17070901

一般公式运算演示 ②

数组公式解决办法——公式 =IF(B1:J1<=A2:A10,B1:J1*A2:A10,"")【记住按 Ctrl + Shift + Enter】;

Excel-VBA 简单的VBA小案例及分析——九九乘法表,文章编号17070901

数组公式运算演示 ②


VBA的解决办法

用公式解决了九九乘法表的运算,那么下面介绍一下用VBA解决该问题的相关信息。

用到VBA的逻辑很简单,对于九九乘法表样表①,我们只需要用到 For 循环即可;对于九九乘法表样表②则需要加一个 If 判断语句。

这里就不对VBA的效果进行演示了,直接为大家奉上这段运算代码。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Cells.ClearContents

Cells(1, 1) = "X"

For i = 1 To 9

Cells(i + 1, 1) = i

Cells(1, i + 1) = i

For j = 1 To 9

' 以下代码为 九九乘法表-样表① 的运算逻辑

' Cells(i + 1, j + 1) = i * j

' 以下代码为 九九乘法表-样表② 的运算逻辑

If j <= i Then Cells(i + 1, j + 1) = i * j

Next j

Next i

End Sub

您觉得本文对您有帮助吗? (单选)
0
0%
有帮助,还不错哦
0
0%
没帮助,因为我都知道
0
0%
ฅ( ̳• ·̫ • ̳) 喵


VBA进阶

使用VBA肯定不单单运行 9x9 的运算范围,有兴趣的读者可以考虑更多的VBA做法

那么下面为大家提供一个我临时制作的进阶版 乘法表 ,请您观赏 。

Excel-VBA 简单的VBA小案例及分析——九九乘法表,文章编号17070901

进阶版 乘法表


功能介绍

  1. 可以选择1-100以内的任意正整数,计算其乘法表(限制范围可调整);

  2. 输入错误值(非1-100内正整数)报错提示;

  3. 点击乘法表范围内任意单元格时,自动在单元格旁提示该值的乘法运算式;

  4. 提供渐变色配色方案(目前是需要在代码内调整,但可以增加一个滚动条,手动调整);

您是否希望作者公开VBA代码? (单选)
0
0%
俺需要 ( ̄▽ ̄)~*
0
0%
俺不要 (ノ‥)ノ
0
0%
无所谓 ╮(╯_╰)╭


☆情报披露☆

  1. 每周一至周四的文章不再直接提供源代码,将通过投票、评论等数据来决定其代码是否公开;

  2. 于周五发布的文章中会附带【本周最喜欢文章投票】,若您会为本文投票,还请您记住本篇文章的编号:17070901;

  3. 文章内的投票数据仅占比40%,评论等文章效应占比30%,每周五的【最喜欢文章投票】占比30%;

  4. 投票等数据收集至每周五24点截止,综合上述条件后,于周六【代码放送】环节公布需求代码人数最多的一篇文章的代码信息。


文末 - 谢谢您嘞,(づ ̄3 ̄)づ╭❤

每一位读者的点赞、订阅、关注、收藏、留言评论都是对我的最大支持,谢谢各位帅哥美女!

同时也希望大家多多转发与评论留言,毕竟只有更多的人认可,我才更有动力为大家发布文章,提供代码。

再次谢谢大家!


友情链接

1、Excel-VBA “十字星”聚焦效果

2、Excel-VBA 实时记录表格异动

3、Excel-VBA 周日趣味玩法——Excel表格也能玩的手机游戏

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网