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

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

作者:乔山办公网日期:

返回目录:excel表格制作

前言

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


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


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



情景演示 ①

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



九九乘法表——样式①


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


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


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


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


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



一般运算演示


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


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



一般公式运算演示 ①


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


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



数组公式运算演示 ①


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



情景演示②

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



九九乘法表——样式②


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


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


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


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



一般公式运算演示 ②


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



数组公式运算演示 ②



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


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



VBA进阶

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


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



进阶版 乘法表



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


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


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


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


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



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


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


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


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



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

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


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


再次谢谢大家!



友情链接

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


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


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


相关阅读

  • word培训-热门Word实用技巧

  • 乔山办公网word文档
  • 今天就来和大家继续学习3个热门实用的Word使用技巧吧~1Word一键速查修改痕迹我们用Word做文件方案,可能经常会碰到这种情况:把文档发给老大或者其他同事审阅,结果一通修改,直接
关键词不能为空
极力推荐

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