zoukankan      html  css  js  c++  java
  • 编写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()函数求文本型数学表达式的计算结果

             






  • 相关阅读:
    Hadoop 回收站
    Sparkstreaming reduceByKeyAndWindow(_+_, _-_, Duration, Duration) 的源码/原理解析
    spark streaming updateStateByKey 用法
    spark streaming 直连 kafka 分区
    sparkStreaming 练习
    json demo
    spark与flume整合
    spark sql 入门
    【面试】c++单例模式
    Python高级笔记(十一)装饰器【面试】
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6470875.html
Copyright © 2011-2022 走看看