任务描述:

利用 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. UICollectionViewController xcode6.1 自定义Cell

    本文转载至 http://blog.csdn.net/daleiwang/article/details/40423219 UICollectionViewContAutolayoutstoryboa ...

  2. Codeforces Round #422 (Div. 2) A. I'm bored with life 暴力

    A. I'm bored with life     Holidays have finished. Thanks to the help of the hacker Leha, Noora mana ...

  3. ORACLE数据库忘记SYS和SYSTEM密码,SYSTEM被锁定怎么办?

    本人忘性太大,竟然将ORACLE的Sys用户和system用户密码搞忘,而且多次尝试登录system后,造成system被锁定. 经过一番尝试,终于解决.过程如下: 首先,重建sys密码文件.重建方式 ...

  4. 事件序列化器 Flume 的无数据丢失保证,Channel 和事务

    小结: 1.Flume 的持久性保证依赖于使用的持久性Channel 的保证 通过事件序列化器将Flume事件转化为外部存储格式 主要的事件序列化器: 1.文本 2.带有头信息的文本 3.Avro序列 ...

  5. lc.exe 已退出 代码为 -1

    地址:http://jingyan.baidu.com/article/91f5db1bd0ace31c7f05e321.html

  6. iOS UI控件之间的关系图

  7. Hadoop一些要注意的点

    1.大多小文件的劣处: a. 生成更多的map任务,额外的开销: b. 每个文件都需要守址时间: c. HDFS上namenode需要占用内存空间:

  8. c语言基本函数

    1. 用宏定义写出swap(x,y) #define swap(x, y) x = x + y; y = x - y; x = x - y; 2.数组a[N],存放了1至N-1个数,其中某个数重复一次 ...

  9. codeforces 672D D. Robin Hood(二分)

    题目链接: D. Robin Hood time limit per test 1 second memory limit per test 256 megabytes input standard ...

  10. Unable to instantiate receiver XXXXXX

    运行一个工程的时候时logcat中出现了“Unable to instantiate receiver XX..”. 检查后发现,由于是东拼西凑的代码,所以在Manifest文件里注册了Receive ...