excel办公情境应用技巧(EXCEL表格插入控件 - EXCEL VBA(5))
- 办公技巧
- 2023-08-15 22:53:38
- 0
Excel提供了一些内建的控件,可以在EXCEL工作表中添加和设置,以便用户可以与数据进行交互。以下是一些常见的Excel控件:
命令按钮(Button):用于触发宏(Macro)或VBA代码
滚动条(Scrollbar):用于通过滑动来选择一个数值
复选框(Checkbox):用于选择或取消选择一个或多个选项
列表框(Listbox):用于从预定义的列表中选择一个或多个选项
下拉框(Dropdown):用于从下拉列表中选择一个选项
这些只是Excel中可用的一些控件,可以根据需求和使用情景选择合适的控件,并设置其属性和行为,以实现与用户的交互。
本文介绍【命令按钮】和【滚动条】的使用,EXCEL VBA表单控件有十几个,在表格中这两种控件用途较多。
直接向EXCEL表格加入控件操作如下图:
【命令按钮】和【滚动条】控件是实际项目开发中最常用的两个按钮,如果你已经有EXCEL表格的使用经验,表格中插入这两个控件后就可以通过编程来控制EXCEL表格。
一、命令按钮
【任务1】向A1:A9写入9个两位随机整数,并在A10给出平均值
这个任务看起来非常简单。
EXCEL VBA编程应该做EXCEL前端表格无法完成的任务,这里指的就是数据写入问题。
例如,我们可以在单元格A1中写等号开头的公式,如=SUM(B1:B9),来引用表格中的数据。这种操作是“get”而不能“set”,我们无法做到在单元格A1中改变其它单元格的值(或者说为其它单元格赋值),都是在某个单元格中定义非常复杂的公式,并将公式批量复制到其它区域。
EXCEL VBA代码不但能向单元格写入数据,还能调用不同“事件”完成非常复杂的任务,是EXCEL办公自动化必不可少的工具。
EXCEL VBA代码的任务分为“函数”和"事件"两大类:
"函数"将常用的任务写成代码块,调用时返回执行结果,有返回值;
"事件"根据特定任务写代码块,调用时执行特定操作,没有有返回值。
EXCEL前端表格函数都是系统自带的内置函数,自定义函数是用户根据需要自己编制的函数。
下面是为【按钮1】写的Sub"事件"代码,代码放入EXCEL VBA开发环境【模块1】中,鼠标点击命令按钮即可完成【任务1】。
Sub 按钮1_Click()Dim i As IntegerDim s As Doubles = 0For i = 1 To 9 Sheet1.Cells(i, 1) = Application.WorksheetFunction.RandBetween(10, 99) s = s Sheet1.Cells(i, 1)Next iSheet1.Cells(10, 1) = s / 10End Sub
这是根据【任务1】写的"函数"代码,代码同样放入EXCEL VBA开发环境【模块1】中,然后在EXCEL表格中调用。
Function getMean(rng As Range) As Double Dim count As Integer Dim sum As Double count = 0 sum = 0 '遍历表格区域中的所有单元格,累加数值并计算单元格数量 For Each cell In rng If IsNumeric(cell.Value) Then sum = sum cell.Value count = count 1 End If Next cell '计算平均值 getMean = sum / countEnd Function
进入EXCEL VBA开发环境,将Sub"事件"代码和Function"函数"代码复制、粘贴到
图3:“事件”和“函数”代码被复制、粘贴到【模块1】中
在表格中用鼠标点击【命令按钮】,效果如下图:
图4:鼠标点击【命令按钮】,执行“Sub 按钮1_Click()”事件
点击【命令按钮】,“Sub 按钮1_Click()”事件向单元格A1:A9写入两位数随机整数,并计算出平均数,然后写入A10。
可以在EXCEL表格中加入多个命令按钮执行不同功能事件,并将按钮名称改为和绑定事件一致即可。
在表格中使用“getMean”函数,效果如下图:
图5:单元格A1:A9输入数字1-9,在单元格A10用自编函数getMean计算平均数
由于自编函数getMean已经粘贴到【模块1】中,单元格A10输入函数getMean的前几个字母时,和EXCEL自带函数一样,全名函数出现在下拉提示框中。
图6:和使用EXCEL自带函数一样,函数【=getMean(A1:A9)]返回平均数5
二、滚动条
滚动条控件可以绑定一个单元格,当使用鼠标点击或拉动滚动滑动柱时,绑定单元格的值会在设定值范围内变化,从而在搜索、展示等减少频繁的手工操作。
图7:将鼠标放在【滚动条】控件上,执行【设置控件格式】
图8:单元格链接框中输入$A$1,执行【确定】,则【滚动条】绑定单元格A1
其它指标(最小值、最大值和步长)可以根据任务要求设置。【滚动条】绑定单元格A1后,当使用鼠标点击或拉动滚动滑动柱时,单元格A1的值会在设定值范围内变化。
三、用滚动条控制正态分布曲线
1、正态分布模型
正态分布(Normal distribution),是一个在数学、物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力。
【密度函数】
图9:均值为μ、标准差为σ的正态分布密度函数
【图形】
图10:正态分布的概率密度函数曲线呈钟形,被称之为钟形曲线
均值μ=0、标准差σ=1的正态分布称为标准正态分布。
2、EXCEL制图
正态分布曲线受均值μ和标准差σ两个参数影响,特别受标准差σ非常显著。下面通过在EXCEL表格插入【滚动条】控制标准差,来观察正态分布曲线形状的变化。
图11:用EXCEL表格绘制正态分布曲线,并加入【滚动条】控制标准差变化
绘图过程如下:
自变量x值域[-5, 5]、步长0.2;因变量f(x)计算公式【=ROUND(1/(((2*PI())^0.5)*D$1)*EXP(-((A3-B$1)^2)/(2*D$1^2)),4)】,在单元格B3中输入公式,然后复制、粘贴到B53;制作曲线图
图12:鼠标全选数据~【插入】~选择图中所圈曲线图
3、设置【滚动条】参数
图13:设置【滚动条】参数
目的是将标准差σ控制在[0.1 ,2]
【滚动条】参数为正整数,而标准差σ取值可以是小数。所有在表格中附加一个固定值在单元格F1,然后将标准差值所在单元格D1绑定F1,即【D1=F1/100】。这样就使D1随F1变化而变化。
图14:鼠标点击滚动条控制标准差和正态分布曲线变化效果演示
EXCEL表直接插入控件后,需要编写事件和函数代码,但这项工作目前基本上可以由人工智能工具来完成。本文getMean函数代码就是由ChatGPT写的。
通常,一个好的程序员需要长时间的编程训练,现在大概懂点各种编程语言的入门知识就可以通过ChatGPT到AI工具来完成很多项目了。
本文由 京廊文化根据互联网搜索查询后整理发布,旨在分享有价值的内容,本站为非营利性网站,不参与任何商业性质行为,文章如有侵权请联系删除,部分文章如未署名作者来源请联系我们及时备注,感谢您的支持。
本文链接: /bangong/16067.html