出于提高效率的原因,希望excel能够不需要人为干预的完成一些操作,学习excel宏的编写与调试:

第一列输入公式,第二类输出计算结果:(如果自动获取文件的行数,待补充)

Sub Calc()
a = [a1].Value
[b1].Value = Evaluate(a)
a = [a2].Value
[b2].Value = Evaluate(a)
a = [a3].Value
[b3].Value = Evaluate(a) End Sub

改进:自动识别行数

Sub Calc()
Dim i As Long, lastRow As Long
lastRow = GetLastRow(Worksheets("Sheet1"), )
For i = To lastRow
a = Cells(i, ).Value
Cells(i, ).Value = Evaluate(a)
Next i
End Sub Function GetLastRow(ByVal TheSheet As Worksheet, ByVal col As Variant) As Integer
Dim findrg As Range, ret As Range Set findrg = TheSheet.Columns(col)
Set ret = findrg.Find(what:="*", searchdirection:=xlPrevious)
If Not ret Is Nothing Then
GetLastRow = ret.Row
Else
GetLastRow = End If
End Function

其他:

1.如果想要宏生效,需要设置下:选项->信任中心->信任中心设置->宏设置->启用所有宏;

2.如果想要在每个excel打开时,你的宏都可以用,需要在编写好宏后,将宏保存在%programfiles%\Microsoft Office\Office12\XLSTART路径下,保存格式Excel加载宏,如Calc.xlam

3.如果想要更高的效率,可以设置快捷键(待补充)

4.为了美观,可以用点按钮来触发宏(待补充)

5.调试环境(待补充)

6.宏名字在调用时,不区分大小写(待核实)

7.宏列表(快捷键"Alt+F8")

8.Alt+F11

参考:

(待研究)http://www.cnblogs.com/dxy1982/archive/2011/08/31/2159231.html

http://www.cnblogs.com/wdpp/archive/2012/02/13/2387078.html

http://www.cnblogs.com/kenyang/archive/2012/05/16/2503846.html

【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. Excel 宏练习

    任务描述: 利用 Excel 绘制函数图像 f(x)=x^2/3+0.9*(3.3-x^2)^1/2*sin(a*x),并通过按钮事件来刷新图像. 问题分析: 可以参考类似 Matlab 绘图的方式, ...

  8. 1.VBA Excel宏

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

  9. VBA Excel宏(二)

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

随机推荐

  1. Sql Server 删除所有表(转)

    http://www.cnblogs.com/jys509/p/3589468.html  首先必须要清空所有表的外键 DECLARE c1 cursor for select 'alter tabl ...

  2. php知识案列分享

    今天再跟大家分享一下,以下案列. 使用array_flip函数生成随机数,可以去掉重复值. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 < ...

  3. 原生JS实现购物车功能

    html <div class="catbox"> <table id="cartTable"> <thead> <t ...

  4. Swift 06.Closures

    Closures --闭包 看了好些文章.由于自己也是刚开始学习swift,闭包还是不是很明白.暂时先放放.等看完后面的.加深感触后,在回头总结闭包的概念. 数组中常用的闭包函数 在Swift的数组中 ...

  5. js对特殊字符转义、时间格式化、获取URL参数

    /*特殊字符转义*/ function replace_html(str) { var str = str.toString().replace(/&/g, "&" ...

  6. CentOS x64上Matlab R2015b的镜像安装方法与卸载

    0. 原料 (1). CentOS_x64系统 CentOS 2.6.32-573.el6.x86_64 (2). Matlab  R2015b_glnxa64.iso,可以从百度网盘下载到:链接: ...

  7. 编译OpenJDK的笔记

    1.  ERROR: You seem to not have installed ALSA 0.9.1 or higher. 不需要从ALSA官网下载alsa-dev和alsa-drive, ubu ...

  8. STM32外部中断初理解

    PA0,PB0...PG0--->EXTI0 PA1,PB1...PG1--->EXTI1 ....... PA15,PB15...PG15--->EXTI15 以上为GPIO和中断 ...

  9. nginx 目录文件列表功能配置

    工作中常常有写不能有网页下载东西的需求,在Apache下搭建完成后直接导入文件即可达到下载/显示文件的效果,而Nginx也可以满足这样的需求(nginx 目录列表功能默认是关闭的),这时就需要配置. ...

  10. 用Runtime.getRuntime().exec()需要注意的地方

    有时候我们可能需要调用系统外部的某个程序,此时就可以用Runtime.getRuntime().exec()来调用,他会生成一个新的进程去运行调用的程序. 此方法返回一个java.lang.Proce ...