编写Excel宏

作者:朱金灿

来源:http://blog.csdn.net/clever101

 

       朋友使用Excel制作表格时向我提出这样一个需求:有一列写出计算公式,另一列将该公式的计算结果自动算出,具体如下图:

                                                         


             我告诉他,这个写一个宏就可以实现了。具体步骤如下:

1. 找到“工具”菜单栏下的宏(M)菜单下的宏(M),如下图所示:


2. 在弹出的对话框上输入名称:Calc,然后单击创建按钮,如下图:

3. 在弹出的界面下先删除所有代码,输入如下代码:

Sub Calc()

a = [A1].Value
[B1] = Evaluate(a)

a = [A2].Value
[B2] = Evaluate(a)

a = [A3].Value
[B3] = Evaluate(a)

a = [A4].Value
[B4] = Evaluate(a)

End Sub

       

   如下图所示:


 这里简单解释下代码:

Sub Calc() 是定义一个函数,End Sub是结束一个函数,这两句基本不用理会。

a = [A1].Value 的意思是把A1表格的表达式赋给变量a,[B1] = Evaluate(a)的意思是计算a表达式的值,把这个表达式的值赋给B1表格。上面那段代码只是计算A1,A2,A3,A4四个格子的值,假如你想计算其它格子的值,如A5、A6、A7等,可以再修改这段代码。

 

4.单击保存按钮保存这段宏,如下:



5. 关闭这个宏编辑界面,如下:


6. 在A1、A2、A3、A4四个格子输入四个公式,如下图:


7. 找到“工具”菜单栏下的宏(M)菜单下的宏(M),如下图所示:


8. 选择Calc宏,再单击执行按钮,如下图所示:


9. 最后就是执行结果,如下图所示:


          

 

    现在发现Office的宏和Visual Studio的宏的编写办法基本是一样的,由此我不得不佩服微软的架构,你只需懂了一个,其它的就基本懂了。

 

参考文献:

 

1. Excel中用evaluate()函数求文本型数学表达式的计算结果

         






原文地址:https://www.cnblogs.com/lanzhi/p/6470875.html