任务描述:

利用 Excel 绘制函数图像 f(x)=x^2/3+0.9*(3.3-x^2)^1/2*sin(a*x),并通过按钮事件来刷新图像。

问题分析:

可以参考类似 Matlab 绘图的方式,定义自变量 x:[-1.816, 1.816, 0.1](即根号 3.3),因变量 y:= POWER(A1*A1,1/3)+0.9*POWER((3.3-A1*A1),1/2)*SIN($C$1*A1)(其中 a 的值存放在 $C$1 单元格中)然后插入关于 y 的折线图;

按钮事件可以通过插入矩形,并为其定义宏(快捷键:Alt+F11)来更新单元格 $C$1 的值。

用 ExcelVBA 来实现:

1、初始化基础数据

Sub InitData()

'创建自变量 x 并赋值
Dim xStart As Single
xStart = 1.816
Dim N As Integer
N =
Dim i As Integer For i = To N +
Cells(i, ) = (-) * xStart + (i - ) / * (xStart * )
Next
i = i + '创建折线图(通过录制宏来获取脚本)
Dim strN As String
strN = "B1:B" & (N + )
Dim strN2 As String
strN2 = "Sheet1!$B$1:$B$" & (N + )
Range(strN).Select
ActiveSheet.Shapes.AddChart2(, xlLine).Select
ActiveChart.SetSourceData Source:=Range(strN2) End Sub

2、实现自动刷新

Sub Refresh()

'不断更新a的值
Dim a As Single
Dim Savetime As Single
Dim k As Integer For k = To
If i Mod = Then
a = k '更新 y 的值
Dim x As Single
Dim j As Integer
For j = To
x = Cells(j, )
Cells(j, ) = (x * x) ^ ( / ) + 0.9 * (3.3 - x * x) ^ ( / ) * Sin(a * x)
Next
j = j + '等待一会再执行下一次循环
'Application.Wait (Now + TimeValue("0:00:03"))
Savetime = Timer
While Timer < Savetime + 0.01
DoEvents '转让控制权'
Wend
End If
Next
k = k + End Sub

相关链接:http://python.jobbole.com/81185/

Excel 宏练习的更多相关文章

  1. Excel宏录制、数据透视表、合并多个页签

    前段时间做数据分析的时候,遇到很多报表文件需要处理,在此期间学习了很多Excel操作,特此做笔记回顾. Excel宏录制 打开开发者工具 打开Excel文件,选择”文件”-->“选项”--> ...

  2. 如何破解excel宏的密码

    http://zhidao.baidu.com/question/140107193.html 最近下载了一个excel模板,使用excel宏编的,但实际需要需更改一下,但是他设置了工作表密码保护,谁 ...

  3. Excel 宏

    实现1到40行的第一列 ,全部 累加一个字符串 A1 Sub Macro1() Dim i As IntegerFor i = 1 To 40Sheets(1).Cells(i, 1).Value = ...

  4. Excel—宏表函数

    首先有一个知识点,宏表函数是不能直接在单元格中写公式的,需要先定义一个名称(“公式”选项卡——“定义名称”),然后在“定义名称”中的“定义位置”中写入宏表函数. GET.CELL(调取单元格信息的函数 ...

  5. excel宏整理

    工作以后发现excel很强大,用好excel已经成功工作中很重要的一部分内容,最近写了一些宏, 整理如下: 根据excel生成sql脚本的sc_template Sub GenSCTemplateFi ...

  6. C#调用Excel宏

    using System; using Excel = Microsoft.Office.Interop.Excel; namespace WindowsFormsApplication1 { /// ...

  7. 1.VBA Excel宏

    Excel VBA宏 在这一章中,让我们了解如何编写一个简单的宏.让我们一步一步来. 第1步:首先,让我们能够在Excel20XX'开发'菜单.做同样的,点击 File >> Option ...

  8. VBA Excel宏(二)

    在本章中,我们来学习如何逐步编写一个简单的宏. 第1步 - 首先,在Excel 2016中启用“开发者”菜单.要完成这个设置,请点击左上角菜单:文件 -> 选项.如下图所示 - 第2步 - 点击 ...

  9. 调用Excel宏批量处理文件

    '1.用户可以任意选择文件夹进行遍历 '2.限定遍历时仅搜索EXCEL文件(你可以改变文件类型) '这个程序要先在“引用”下选择"microsoft scripting runtime&qu ...

随机推荐

  1. 基于mqtt协议实现手机位置跟踪

    Mqtt协议是物联网领域的一个标准协议,具有轻巧,对设备,带宽要求低,可靠稳定的特点,适合用来实现手机定位跟踪功能. 目前我初步搭建起来了整个可运行的框架,大致为如下思路:1.手机端通过位置服务,获取 ...

  2. SQL常见问题及解决备忘

    1.mysql中:you cant't specify tartget table for update in from clause 错误 含义:在同一语句中update或delete某张表的时候, ...

  3. 状态模式-State

    状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类. 状态模式结构图: 代码实现:

  4. java的自定义异常类

    编写自定义异常类的模式 编写自定义异常类实际上是继承一个Exception标准异常类,用新定义的异常处理信息覆盖原有信息的过程.常用的编写自定义异常类的模式如下: public classCustom ...

  5. ul li menu

    第一步:建立一个无序列表我们先建立一个无序列表,来建立菜单的结构.代码是: <ul><li><a href="1">首页</a>&l ...

  6. redis05----Redis 中的事务

    Redis支持简单的事务 Redis与 mysql事务的对比 Mysql Redis 开启 start transaction multi 语句 普通sql 普通命令 失败 rollback 回滚 d ...

  7. (MySQL里的数据)通过Sqoop Import Hive 里 和 通过Sqoop Export Hive 里的数据到(MySQL)

    Sqoop 可以与Hive系统结合,实现数据的导入和导出,用户需要在 sqoop-env.sh 中添加HIVE_HOME的环境变量. 具体,见我的如下博客: hadoop2.6.0(单节点)下Sqoo ...

  8. vim使用手册出现 找到 tag:1/9或更多 查看别的定义的方法

    :ts 或 tselect 查看有相同地方的定义 通过这种方式会出现一个列表,输入:q 然后通过数字键和回车查看某一个定义,个人经常用:ts :tn或tnext 查找下一个定义地方. :tp 查找上一 ...

  9. hdu 2544 最短路 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 题目意思:给出 n 个路口和 m 条路,每一条路需要 c 分钟走过.问从路口 1 到路口 n 需 ...

  10. NSString -- UILabel中字体有多种颜色,字符串自动计算高度/换行

    一:UILabel中字体有多种颜色 UILabel *label = [[UILabel alloc] init]; label.frame = CGRectMake(, , , ); label.b ...