出于提高效率的原因,希望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. Android的常用adb命令

    第一部分:1. ubuntu下配置环境anroid变量:在终端执行 sudo gedit /etc/profile 打开文本编辑器,在最后追加#setandroid environment2. 运行E ...

  2. 239. Sliding Window Maximum *HARD* -- 滑动窗口的最大值

    Given an array nums, there is a sliding window of size k which is moving from the very left of the a ...

  3. 转: Redis基础总结

    转文:http://blog.csdn.net/basycia/article/details/52175429 1.redis是什么 2.redis的作者何许人也 3.谁在使用redis 4.学会安 ...

  4. canvas动画

    1.动画主要是requestAnimationFrame方法,现在我们来一步步实现一个在画布内滚动的实例. html代码: <canvas id="canvas" width ...

  5. 关于中文字体的设置说明(font:12px/1.5 tahoma,arial,\5b8b\4f53)

    定义全局字体是这样的font:12px/1.5 tahoma,arial,\5b8b\4f53 前面的12px字体,1.5表示行高,18px 后面的\5b8b\4f53为什么写成这样的呢? 请教百度谷 ...

  6. ecshop后台新功能及权限的添加

    1.在后台"推荐管理"里添加"推荐人分成"."会员分成"两个操作功能以及权限 index.php?act=menu incluedes/in ...

  7. RMAN 命令-删除过期

    手动删除日志文件后的处理,不然rman备份会出错 rman target / crosscheck archivelog all; delete expried archivelog all; 删除所 ...

  8. linux中用户的主目录~

    -在Linux中代表用户主目录 对一般用户,-表示/home/(用户名) 对于root用户,-表示/root 如果要查看-的真实面貌,可以先进入-目录,然后用pwd -P命令查看-的绝对路径 cd ~ ...

  9. java 排序

    class Employee { private String name; private String id; private String salary; public static void m ...

  10. BAE hibernate c3p0数据库连接池

    根据BAE官方文档:bae是不支持连接池的,但今天试验却能实现hibernate c3p0连接池,避免mysql连接超时 hibernate主配置文件hibernate.cfg.xml代码 <! ...