VBA宏“移动”图形/动态图形

时间:2015-05-28 13:05:17

标签: vba excel-vba graph excel

基本上,这里的问题是我有一个宏来改变特定单元格的数量,通过这样做我改变了三列中的数字,当这些数字被改变时,我的图形开始“移动”。

更具体地说,我有这个图:

enter image description here

当我点击我的按钮时,线条开始移动,看起来像是一个开口和关闭的嘴。

蓝线对应第一和第二列值,而红线相应地更改为第一和第三列值:

enter image description here

Cell(B2)包含此代码生成的数字:

    Sub OpenMouth()
    For i = 1 To 20
        Worksheets("Mouth").Cells(2, 2).Value = 0.1 + 2 * i / 20
        Calculate
        For j = 1 To 5000000
        Next j
        Next i
    End Sub

我需要做的是准备类似的东西:通过改变我在A,B和C列中的数字,它开始移动的图形。 A,B和C列将通过在VBA中执行简单循环来更改,此循环将更改一个值,并且三个列将具有链接到此值的公式,因此它们的值将更改。

我看过一些非常酷的图形,一个滚动的球,一个滚轮移动,但我真的不知道如何做到这一点,我不知道该怎么做。

有没有人有想法?任何人都可以帮我构建一个具有类似想法(移动物体)的不同图形吗?

这是另一个例子,使用相同的逻辑:

enter image description here

1 个答案:

答案 0 :(得分:1)

坦率地说,我建议重新考虑一下创建自定义& amp; Excel中的复杂动画。 Excel只是不适合这个的工具。

我会使用Javascript并使用动画将Internet Explorer控件嵌入到Excel中。解决方案的工作方式如下:

  1. 按Excel中的按钮

  2. VBA宏通过在Javascript中加载带有动画的自定义Microsoft Web Browser control文件的HTML来执行动画。动画显示在MS Web Browser Control

  3. 使用Javascript绘图

    这是一个简单的教程: http://www.w3schools.com/html/html5_canvas.asp

    在此测试您的图纸: http://www.codecademy.com/courses/web-beginner-en-SWM11/0/1

    Microsoft Web浏览器控件

    https://msdn.microsoft.com/en-us/library/aa752040(v=vs.85).aspx