中企动力 > 商学院 > excel宏与vba教程
  • ?

    如何保存含宏指令(VBA代码)的Excel工作簿

    万俟香

    展开

    宏指的是一段操作指令,它也属于VBA的一种。通常情况下,在使用Excel处理数据时,如果碰到需要进行较多的重复性操作,可以通过录制宏命令来,将这些操作指令记录下来,然后让Excel傻瓜式的运行这些指令,即可实现化繁为简,在提高工作效率的同时还能保证质量的稳定,这就是为啥有些人在处理重复性操作时,是那么的得心应手,而有的人却是那么举步维艰,叫苦连天。除此之外,Excel还赋予了使用者极大的操作灵活性,使用者可以自己编辑VBA代码,实现一些Excel本身常规操作无法实现的功能,如拼图游戏等。当需要的代码指令已经录制好或编辑好之后,又该如何将它们保存下来以便下次操作使用呢?本教程将介绍几种方法帮你轻松搞定这一点。

    用最小的代价得到最好的东西

    1、对于一些仅含简单录制宏指令的Excel电子表格,可以直接单击Excel快速访问工具栏中的保存命令(保存命令快捷键为Ctrl+S)进行保存,此时的Excel工作簿的后缀名为xlsx。

    保存含宏指令技巧

    2、可以将含有宏指令的工作表另存为启用宏的Excel工作簿,具体操作是单击Excel界面菜单栏中的文件命令,然后找到另存为下的启用宏的Excel工作簿命令,单击该命令,设置保存路径即可实现宏指令的保存,此时文件的后缀名为xlsm。此方法保存的文件适用于不低于保存版本的Excel软件。

    复杂事情轻松应对

    3、考虑到Excel向下兼容的特性,如果想让宏代码文件通用于Excel各个版本,建议将含宏指令的工作簿保存成低版本,即Excel97-2003工作簿。具体操作是,单击另存为下的Excel 97-2003命令,然后选择保存路径即可,该方法保存的文件后缀名为xls。

    保存宏指令文件的后缀名差异

  • ?

    Excel 打开时提示需要VBA的宏语言支持时怎么回事

    祝绮晴

    展开

    因为文档中有宏,开启宏就可以了,操作方法如下:

    1.打开office excel 2013,鼠标单击“文件”。

    2.鼠标单击“选项”。

    3.鼠标单击“信息中心”。

    4.单击“信息中心设置”。

    5.选择”宏设置“------启用所有宏”。


    6.鼠标单击“确定”。宏启用完成。

    (本文内容由百度知道网友茗童贡献)

  • ?

    其实我想说,Excel VBA学习的最快方法就是借鉴,没有之一

    Edmund

    展开

    如果您已经掌握了Excel VBA的基本概念和简单语法,需要快速提高技术水平,以便可以早日完成各种简化工作的小程序,甚至能够编制功能强大的报表系统。

    于是,但凡有教程自称为“秘籍”或“宝典”的,都会引发大家的无限遐想。因为在各种武侠小说中,某人物因为一本(甚至只是几页)武学秘籍而改变命运、屌丝逆袭的经典桥段实在太多了,让人无限向往。但是,如果冷静分析一下前后情节,您就可以了解到这样的三个事实。

    对应这三条,我们来看看Excel VBA这门武功如何。

    如果要对Sheet1的A1:A100单元格区域进行汇总,按组合键就可以了,手快只需要0.1秒。如果每天要对1000个工作簿的Sheet1的A1:A100单元格区域进行汇总,那么只会自动求和的绝顶高手就想跳楼了。可是对于学习过VBA的人来说,几行代码就可以解决问题。

    在信息时代,技能学习信息只有过剩没有限制。即对于多数学科、技能,只要你想学习,教材是永远不缺的,老师也非常容易找。以前都是“收徒弟”,现在基本上是“收师傅”了。

    想学有所成,时间和精力是必需的,从古至今皆如此。当然,我很期待有一天能像《骇客帝国》里那样学习技能——直接下载到大脑里就行了。

    这么一分析,我刚才说的“快速提高”岂非奢望而已?那也未见得。首先,教材虽多,却有良莠之分,有适合之分,选择适合自己的优秀教材,那么就能快人一步。其次,注重学习方法,循序渐进,将有限的学习时间投入到最有价值的学习环节中,学习过程中少走弯路,那么又能快人一步。有了这两个基础,再辅以必要的学习时间,那么必能事半功倍,获得“快速提高”了。

    谈到循序渐进,在Excel VBA学习之路上具体应该怎么做呢?下图内容是值得参考的阶段性指标和学习重点。

    “拿来主义”很流行,也很有效,而且绝不丢人。所以,看懂别人的代码,然后修改之,变为自己的代码,这是一种能力。先啃小段的代码,再研究完整的程序,逐步提高。顶尖的编程高手通常都有自己的代码库,几乎所有的新程序都是从代码库中调取所需的模块修改后搭建而成的,而绝不是从头一行一行写出来的。高手们平时很重要的工作就是维护好自己的代码库。

    本书一个很重要的使命就是成为学习者的代码库,所有的代码都可以拿来即用。对于学习者来说,花时间去多读、读懂代码,是实现快速提高水平的保障。

    当然,我们鼓励“拿来主义”,可不是在教您如何“抄袭软件”。我们只能学习他人分享的代码,或者是教材上的代码。您不可以打着学习的幌子,破解别人的软件,而且还把作者写成您自己。

    最后,祝大家学习愉快。

  • ?

    EXCLE 2010 VBA教程

    书易

    展开

    01-01、Excel VBA教程简介

    01-02、宏在工作中的运用

    01-03、Excel VBA基础

    01-04、Excel VBA窗口介绍

    01-05、Excel VBA代码编写规则

    01-06、对象

    01-07、属性

    01-08、方法

    01-09、常量与变量

    01-10、数据类型

    01-11、判断语句之IF

    01-12B、If条件判断小结

    01-12、判断语句IF之多条件

    01-13、判断语句之SELECT

    01-14、循环语句之DO...LOOP

    01-15、循环语句之DO...LOOP实例

    01-16、循环语句之DO WHILE...LOOP

    01-17、循环语句之DO UNTIL...LOOP

    01-18B、DO...LOOP 语法小结

    01-18、循环语句之WHILE与UNTIL位置变化

    01-19、.循环语句之FOR EACH...NEXT

    01-20B、For...NEXT小结与实例

    01-20、循环语句之FOX...NEXT

    01-21、用语句FOR...NEXT制作九九乘法表

    01-22、exit与end语句

    01-23、跳转语句

    01-24、错误分支语句

    01-25、with语句

    01-26、VBA与公式

    01-27、VBA与函数1

    01-28、VBA与函数2

    01-29、VBA与运算符

    01-30、like运算符

    01-31、like运算符运用

    01-32、综合运用(盘点清单核对)

    02-00、工作簿与工作表基础知识

    02-01、工作簿的表示方法

    02-02、当前工作簿与活动工作簿

    02-03、工作簿基础操作

    02-04、工作簿实例应用

    02-05、工作表的表示方法

    02-06、工作表集合应用

    02-07、工作表增加与删除

    02-08、工作表增加删除实例

    02-09、工作表移动与复制

    02-10、工作表选择与激活

    02-11、工作簿综合运用(拆分工作簿)

    03-00、EXCEL单元格基础

    03-01、Range引用基础1

    03-02、Range引用基础2

    03-03、Range引用与变量

    03-04、Range引用与索引值

    03-05、Range引用与索引值应用(有条件的平均工资)

    03-06、Cells单元格引用基础

    03-07、单元格简写

    03-08、三种单元格引用小结

    03-09、行、列引用

    03-10、row与column属性

    03-11、单元格的值与地址

    03-12、单元格移动与复制

    03-13、行列插入与删除

    03-14、活动单元格与选择区域

    03-15、UsedRange已使用区域(条件统计)

    03-16、currentregion当前区域

    03-17、单元格的Offset(给工资条加、减表头)

    03-18、单元格的resize(单据数据保存)

    03-19、单元格所在行与列(删除空行)

    03-20、specialcells定位(按批注汇总)

    03-21、FIND单元格查找技术

    03-22、单元格查找应用(制作查询系统)

    03-23、FIND实例应用(进销存之入库单)

    03-24、FIND实例应用(进销存之入库单)

    03-25、单元格END属性

    03-26、单元格END属性应用(查找分期付款最后月份)

    03-27、最后的格格

    03-28、单元格并集(Union)

    03-29、单元格并集应用(条件筛选)

    03-30、单元格交集(Intersect)

    03-31、单元格式之数字格式

    03-32、单元格式之字体(VBA实现条件格式)

    03-33、给你点颜色看看(底纹颜色讨论)

    03-34、单元格式实例(工资条格式化)

    03-35、利用查找颜色拾取进行颜色汇总

    03-36、粘贴

    03-37、选择性粘贴

    03-38、合并单元格(相同部门的合并)

    03-39、合并单元格实例(取消合并单元格并保持数据)

    03-40、批注基础(有条件的添加批注)

    03-41、批注修改(给员工加批注图片)

    03-42、图形基础

    03-43、图形插入实例(根据姓名导入图片)

    03-44、综合运用(多表合并)

    03-45、综合运用(多表拆分)

    04-00、EXCEL事件程序定义与作用

    04-01、事件程序基础

    04-02、工作表事件实例1(自选计算与投票统计)

    04-03、工作表事件实例2(状态栏地址与防工作表名更改)

    04-04、工作表事件实例3(自动列出工作表名与单元格区域保护)

    04-05、工作簿事件实例1(自动选择月份表、右键禁用、打印控制)

    04-06、工作簿事件实例2(给工作表加密码)

    04-07、应用程序事件基础

    04-08、应用程事件实例(打印控制)

    04-09、事件程序总结

    05-01、数组基础

    05-02、数组维度

    05-03、向数组中写数据

    05-04、在数组中取数据

    05-05、数组运用(数据汇总)

    05-06、数组写入与读取实例(数组的优势体现)

    05-07、数组运用1(计算不重复值)

    05-08、数组运用2(计算不重复值)

    05-09、数组运用(分类求和)

    05-10、动态数组(条件筛选)

    05-11、动态数组(多表合并)

    05-12、Split函数与数组(字符串生成数组)

    05-13、Join函数与数组(数组生成字符串)

    05-14、Fileter函数与数组(巧用Filter实现多列结果)

    05-15、工作表函数与VBA数组(几句代码制作查询系统)

    05-16、借助VBA数组快速格式化单元格

    05-17、利用VBA数组进行排序

    05-18、VBA数组分类汇总

    06-00、字典技术的魅力

    06-01、字典基础(你可能不会字典!)

    06-02、字典语法基础1

    06-03、字典语法基础2

    06-04、字典语法基础3

    06-05、字典数据写入技巧讨论

    06-06、字典实例(第1次与最后一次采购价提取)

    06-07、字典实例(多表求不重复值)

    06-08、字典实例(字典与数组经典结合)

    06-09、字典实例(分类计算)

    06-10、字典应用(多列合并计算)

    06-11、字典应用(自动查询)

    07-01、从通配符到正则表达式

    07-02、VBA中引入正则表达式

    07-03、正则表达式基础

    07-04、正则表达式(普通字符)

    07-05、正则表达式(元字符)

    07-06、元字符应用(数字、字符提取)

    07-07、元字符之量词

    07-08、元字符之量词实例

    07-09、分组

    07-10、后向引用与非捕获

    07-11、字符组(拆分单词)

    07-12、字符组(去编号)

    07-13、首尾锚定

    07-14、循环多个正则表达式

    07-15、综合练习(重新排列)

    07-16、零宽断言(有条件添加修改记录)

    07-17、正向零宽断言(汇总凌乱的开销记录)

    07-18、负向零宽断言(给单词加分隔符)

    07-19、懒惰与贪婪模式(乱中取目录)

    07-20、正则表达式属性(计算上班时间)

    07-21、分组的妙用

    07-22、分组运用(提取身份证信息)

    07-23、正学表达式总结

    08-01、自定义函数基础(小试牛刀)

    08-02、自定义函数的调用与存放位置

    08-03、自定义函数小实例(等级函数)

    08-04、自定义函数-返回不重复随机数(结果是数组)

    08-05、自定义函数(参数默认值设置)

    08-06、自定义函数(参数不定)

    08-07、自定义函数实例-身份证信息提取

    08-08、自定义函数实例-单元颜色求和(字典+自定义函数)

    08-09、自定义函数实例-反转字符与数字求和(正则+自定义函数)

    08-10、自定义函数实例-提取不重复值(字典+正则+自定义函数)

    09-01、开启进入Word的大门

    09-02、Word基础操作

    09-03、word中的表格

    09-04、从Word表格提取数据

    09-05、从word文字中提取数据

    09-06、提取excel数据到word

    10-01、消息框基础

    10-02、MSGBOX第二参数详解

    10-03、MSGBOX返回值

    10-04、InputBox基础与区别

    10-05、InputBox实例(用户与密码校验)

    10-06、InputBox方法Type参数详解(制作通用控件的好方法)

    11-01、一封情报引发的知识

    11-02、类模块基础

    11-03、类的实例应用(等级判断)

    11-04、属性过程中对象的操作(模板定制)

    11-05、属性过程中对象的操作(条件累加)

    11-06、用Function过程创建方法

    11-07、综合应用方法

    11-08、用sub过程创建方法

    11-09、类模块与程序事件

    12-01、窗体基础

    12-02、窗体属性

    12-03、窗体属性

    12-04、窗体事件

    12-05、窗体按钮控件

    12-06、制作变幻的登录界面

    12-07、标签与按钮控件(登录界面控件设计)

    12-08、标签与按钮控件(登录界面控件设计)

    12-09、文本框控件(注册界面控制设计)

    12-10、单选框控件(员工单设计)

    12-11、复选框控件(员工单设计)

    12-12、复合框控件(员工单设计)

    12-13、列表框控件(员工单设计)

    12-14、切换按钮控件(基础产品单设计)

    12-15、图像控件(员工信息查询设计)

    12-16、表单控件

    12-17、表单控件

    12-18、ActiveX控件组合框

    12-19、ActiveX控件 (组合框实例-入库自动查询)

    12-20、图像控件(动态显示员工照片)

    13-01、自定义功能区的应用(演示)

    13-02、解析excel 2010文件

    13-03、认识功能区Ribbon

    13-04、代码自定义功能区

    13-05、初识RibbonX

    13-06、XML语法结构讲解

    13-07、OpenXML架构元素(一)

    13-08、OpenXML架构元素(二)

    13-09、OpenXML架构元素(三)

    13-10、group元素-分组

    13-11、button元素-按钮

    13-12、button元素-按钮(让控件运行起来)

    13-13、CallBacks-回调(点击控件访问网站)

    13-14、CallBacks-回调(让按钮产生变化)

    13-15、CallBacks-回调(让按钮产生变化)

    13-16、给控件自定义图标

    13-17、给控件自定义图标

    13-18、动态变幻自定义图标

    13-19、checkBox 元素-复选框(根据复选框状态录入数据)

    13-20、editBox元素-文本编辑框

    13-21、editBox元素-文本编辑框(较酷的用户名验证)

    13-22、toggleButton元素-切换按钮

    13-23、toggleButton元素-切换按钮(字母大小写切换按钮订制)

    13-24、item元素-条目

    13-25、comboBox元素-组合框

    13-26、comboBox元素-组合框(利用组合框录入与筛选)

    13-27、comboBox元素-组合框(动态填充组合框)

    13-28、dropDown元素-下拉列表

    13-29、Gallery元素-库(确实很酷)

    13-30、Gallery元素-库(动态装载图片)

    13-31、menu元素-菜单

    13-32、menu元素-菜单 ( 定制系统登录和超链接)

    13-33、splitButton元素-拆分按钮

    13-34、splitButton元素-拆分按钮

    13-35、dynamicMenu元素-动态菜单(动态获取单元格值为菜单项目)

    13-36、dynamicMenu元素-动态菜单(动态获取单元格值为菜单项目)

    13-37、dynamicMenu元素-动态菜单(动态筛选指定目录下的文件)

    13-38、menuSeparator元素-菜单分割符 (动态变化的菜单标题)

    13-39、separator元素-控件分隔线(动态显示分隔线)

    13-40、box元素-控件框

    13-41、dialogBoxLauncher元素-对话框启动器

    13-42、Ribbon控件综合运用(制作通用插件)

    13-43、Ribbon控件综合运用(制作登录界面)

    14-01、幼儿园开票系统功能介绍

    14-02、系统界面制作

    14-03、系统单据初始资料设置

    14-04、学生管理模块(增加功能)

    14-05、学生管理模块(查询与修改功能)

    14-06、主要单据的自动化设置

    14-07、单据查询系统

    14-08、工作表的显示隐藏设置

  • ?

    关于Excel VBA编程的小技巧

    采尼

    展开

    1、 根据条件删除行

    Sub deleteRows(strTable, condition1, condition2)

    Dim i, j, iMax, jMax As Long

    Dim iicondition1, iicondition2 As Integer

    With Worksheets(strTable)

    iMax = .UsedRange.Rows.Count

    jMax = .UsedRange.Columns.Count

    i = 2

    Do While i < iMax + 1

    iicondition1= .Cells(i, 1)

    iicondition2 = .Cells(i, 2)

    If (iicondition1= condition1And iicondition2 = condition2) Then

    .Rows(i & ":" & i).Delete shift:=xlUp

    iMax = iMax - 1

    Else

    i = i + 1

    End If

    Loop

    End With

    End Sub

    2、 删除所以的使用range

    Worksheets("sheetName").UsedRange.Delete shift:=xlUp

    3、打开某指定路径的文件夹对话框

    Function GetFileName(ByVal DialogType As MsoFileDialogType, ByVal defaultPath As String) As String

    With Application.FileDialog(DialogType)

    .Title = "XXXX:"

    .AllowMultiSelect = False

    .Filters.Clear

    .Filters.Add "Excel Files", "*.xlsm"

    .Filters.Add "All Files", "*.*"

    .InitialFileName = defaultPath

    If .Show = True Then

    GetFolderName = .SelectedItems(1)

    End If

    End With

    End Function

    4、截取字符段

    从右边开始,查找某字符,然后截取其后面的字符串。

    xlsPath2 = Right(xlsPath, InStr(StrReverse(xlsPath), "\") - 1)

    5、Sharepoint数据的刷新

    Worksheets("Sharepoint对应的sheet").Range("A1").ListObject.QueryTable.Refresh BackgroundQuery:=False

    6、当前使用的range的取得

    .UsedRange ‘对应的range

    .UsedRange.Rows.Count ‘对应的行号

    .UsedRange.Columns.Count 对应的列号

    7、在Excel内部打开另外一个Excel (不显示,隐藏)并读取其数据

    Set xlsApp = New Excel.Application

    xlsApp.Visible = False

    xlsPath = ThisWorkbook.Path

    Set xlsWB = xlsApp.Workbooks.Open(xlsPath, Null, ReadOnly)

    ‘读取/写入对应的sheet

    X = xlsWB.worksheets(“xxxx”).cells(i,j)

    xlsWB.worksheets(“xxxx”)..Cells(i, j).Formula = "=E” & i

    8、计算处理

    '如果你的表中有大量的计算单元格,那就需要关闭自动计算,否则慢的要死

    ‘在VBA开始,设置为手动

    'Application.Calculation = xlCalculationManual

    'Application.ScreenUpdating = False

    ‘在VBA开始,设置为自动

    'Application.Calculation = xlCalculationAutomatic

    'Application.ScreenUpdating = False

    注意,还有一种方法是再打开本excel的时候,就设置为手动,对于需要计算的sheet,单独在其数据填充完毕后,执行计算操作。

    例如: Worksheets("XXXXX”).Calculate ‘这是效率最高一种方法。当然,你也可以对某些range,单独进行range计算。

    9、Range到range的只读拷贝、黏贴

    Worksheets("srcSheet").Range(.Cells(1, 1), .Cells(x,y)).Copy

    Worksheets("dstSheet").Cells(1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

    10、Cell内容的替换操作

    Worksheets("CostTable").Cells.Replace What:="Original Content", Replacement:="replease Content", LookAt:=xlPart, _

    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    11、自动填充

    Worksheets("xxxx")..Range("D8:F8").AutoFill Destination:=.Range(.Cells(8, 4), .Cells(rMax, 8)), Type:=xlFillDefault

    12、获取pivot的使用区域、

    Set pvt = Worksheets("xxxx").PivotTables("PivotTable_xxxx")

    Set rngTable = pvt.TableRange1

    13、刷新pivot

    Worksheets("xxxx").PivotTables("PivotTable_xxxx").PivotCache.Refresh

  • ?

    EXCEL2007 vba编程入门(实例对话框)

    Jonathan

    展开

    1、新建EXCEL2007空白表格。xlsx格式的,将VBA工具栏调出。如图1.1

    2、点击“开发工具”然后单击插入,在下拉的菜单的表单控件里面选择“按钮”,如图2.1

    3、画个方框,会弹出一个对话框“指定宏”,单击"新建"按钮,这样就会进入后台的程序书写界面,进入以后,程序的头和尾已经帮你写好了,如图3.1,你只需要在中间写入一句程序“ MsgBox("hello world") ”。

    4、为了保证宏正常运行,要在EXCEL的设置中进行启用宏操作。在“开发工具-宏安全性-宏设置:启用所有宏和勾选信任对VBA工程对象模型的访问”。如图4.1

    5、最后点击另存为“启用宏的工作簿”的xlsm文件,然后退出程序界面。

  • ?

    自学VBA,编写自己的第一个VBA工具,录制宏

    惜霜

    展开

    本节目标是让每个人能自己编写第一个VBA程序,先来看看几个前置条件。

    1. Excel运行宏代码的时候需要在Excel中设置启动宏,如何开启请查看下图。

    2. 宏代码只能保持在.xls或者xlsm格式的文件中,所以在编写完成后保存文件的时候一定记住选择.xls/.xlsm格式,否则你花半天写大代码都不翼而飞了。

    3. 在Excel菜单中添加“开发工具”菜单,“开发工具”菜单里面都是用来开发VBA的菜单。

    4. 快捷键Alt+F11,按这个快捷键会直接进入到VBA的编译器内,可以在里面编写你的VBA代码了。

    下面来编写自己的第一个VBA工具,

    1.打开Excel工具

    2.在Sheet1中第一列录入一些信息

    3.点击“开发工具”菜单,再点击“录制宏”按钮。

    4.选中第一列,按Ctrl+C复制一下,再选中Sheet2,粘贴数据到第一列

    5.选择“data”菜单中取重复的按钮,给第一列去重复。

    6.点击“开发工具”菜单,停止录制宏。

    好了,第一个VBA工具已经完成了,接下来看看如果运行工具。

    1.删除掉Sheet2第一列数据,回到Sheet1

    2.选择“开发工具”中“宏”菜单,在弹出的对话框中,你会看到有一个命名为Macro1(具体看电脑生成情况)的方法,再点击对话框中右边的“Run”按钮。

    怎么样,是不是发现自己刚才的手动一步一步的操作,现在就只需要一个按钮都完成了。有没有瞬间感觉太不可思议,这个实例还只是入门级别的,你跟着学到后面才会发现真正的能提高工作效率的自动化工具的艺术。今天你学到了吗?给大家留一个思考题,录制宏能录制下自己所有的操作,是不是只要使用录制宏吧自己的操作都录制下来,一个真正能使用的自动化工具就完成了吗?相信经过大家的思考,能帮忙更快理解VBA。

  • ?

    Excel学习之VBA(一)

    沙砾

    展开

    1.如何将【开发工具】选项卡添加到Excel页面

    默认情况下,因为大多数人并不经常用到【开发工具】选项卡,所以微软将其隐藏了起来,打开方式如下:

    1.1.office2010及其以上版本:

    (1).【文件】===》【选项】===》【自定义功能区】===》【主选项卡】===》在功能区的“复选 框”中找到【开发工具】选项,并将其选中

    (2).打开Excel后,在默认界面下,将鼠标移动至任意“选项卡”所在区域,单击右键选择【自定义功能区】===》 【主选项卡】===》在功能区的“复选框”中找到【开发工具】选项,并将其选中

    1.2.office2007版:

    点击【office】===》【Excel选项】===》【常用】===》在功能区找到【开发工具】复选框并将其选中

    说明:如果上述方法无法实现,说明office软件安装过程中没有安装VBA如果仍要使用VBA,建议重新安装office

    2.允许Excel运行VBA

    默认情况下,为避免VBA产生宏病毒污染破坏电脑运行,office禁止了VBA代码的正常运行,要想正常运行VBA,需要先解除禁止,如下:

    2.1.office2010及其以上版本:

    【开发工具】选项卡===》宏安全性===》【宏设置】===》将【启用所有宏】选中===》【确定】===》重启EXcel

    2.2. office2007版:

    【工具】===》【宏】===》【安全性】===》【宏设置】===》将【启用所有宏】选中===》【确定】===》重启EXcel

    3.打开VBE(Visual Basic Editor)

    3.1.快捷键:Alt + F11

    3.2.手动方式:【开发工具】===》【Visual Basic】===》【VBE界面】

    4.开始编写VBA

    和大多数的IDE一样,VBE分为基本的【菜单栏】,【工具栏】,【工程资源管理器】,【属性区域】,【代码区域】以及【状态栏】,一般编写的代码称为“宏”,多个宏又可以组合成一个“模块”,但在【工程资源管理器】中默认情况下是没有模块的,需要通过录制宏或手动插入模块,如下

    4.1. 手动插入模块

    在【工程资源管理器】中的空白区域或选中单击右键===》【添加】===》【模块】

    4.2录制宏

    【开发工具】===》【录制宏】===》命名===》【确定】===》完成一系列表格操作后===》【停止录制】===》【宏】===》点击录制的宏===》【编辑】,即可看到VBE中新增了一个模块

  • ?

    1个案例教你学会Excel中的VBA

    俞盼海

    展开

    可能很多朋友不知道Excel中VBA的用途。那什么是VBA呢?

    一句话概括:在Excel中想实现什么功能,就可以用VBA语言编写一段程序去完成。

    今天通过例子带大家了解Excel中的VBA!

    软件说明:Excel 2010版本

    场景再现:表格中点击按钮,向单元格E1中输入数字 “233”,并且能够实现清除!

    第一步、打开编写VBA代码的窗口

    在Excel表格中编写VBA的窗口叫VBE编辑器,有两种打开的方法。

    在工作表标签上右键 - 查看代码按Alt+F11

    第二步、创建写VBA代码的地方

    有朋友肯定会问:“我没学会编程怎么办?”、“我都没见过代码能行吗?”;别急!我的回复是肯定的!

    在哪编写代码呢?有好几种方式,今天先学最常用的:“插入” - “模块”。新建一个模块用来存放编写的代码;记住:修改模板的名称:我的VBA模板【如下图虚线标注】

    第三步、开始写代码

    新建模板后,在右侧的空白位置就是编写代码的地方。可以执行的VBA代码,结构是这样的:

    Sub 程序名(参数)可以执行任务的代码End Sub

    因为例子中我要进行输入与清除的操作,输入Sub 程序名()然后回车,End Sub就会自动输入;如下图:

    在开始和结束语句之间输入代码,执行在单元格A1中输入数字"233"

    Range("E1") = 123

    备注:在VBA中,Range("单元格地址")来表示单元格。在单元格中输入值,直接用=值 即可(字符串两边要加双引用),如果清空则 =""。

    再编写一段清空代码:

    第四步、测试运行代码

    在编写代码时经常要测试是否正确。测试方式是把光标放在代码行的任意位置【下图中“测试按钮”的位置】,点击运行小按钮进行测试;同样清空代码也一样。

    第五步、点击按钮执行VBA代码

    在Excel中插入的图形、图片、按钮控件都可以执行VBA代码。让它们执行很简单,点击“插入” - “矩形” - “指定宏”

    只需要右键菜单中点击指定宏 - 选取编写的宏名称,选择“输入”,添加输入按钮。

    同样添加清除按钮:

    当然自己可以调整字体的颜色、字体,让其变得更加美观!

    此时,通过VBA设置的输入“233”,并可以点击清除!

    第六步、保存VBA代码

    此时的VBA代码应该是既有输入代码又有清空代码;最后需要保存为“启用宏的工作簿"类型【注意下图中虚线框标注】,VBA代码才能保存下来。

    好了!今天的分享就到这里,是不是感觉VBA也没有想象的那么难?

    赶快转发、关注吧,更多技巧尽在头条号中!

  • ?

    小白也能看懂的Excel VBA入门教程(一)

    飞鸽

    展开

    什么是VBA

    Visual Basic for Applications(VBA)是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。简单来说VBA是建立在Office中的一种应用程序开发工具,其实知道这也就够了。

    第一个VBA程序

    首先要把开发工具调出来,Excel默认情况下是不显示开发工具的

    打开vb编辑器,新建模块,并写入代码

    Sub test()Range("A1") = "Hello World" '在A1单元格中填写Hello WorldRange("A2") = "我的第一个VBA程序"End Sub

    在Excel VBA中,Range对象可能是最常用的对象,Range对象可以是某一单元格、某一单元格区域、某一行、某一列、或者是多个连续或非连续的区域组成的区域。代码中 Range("A1") 就代表A1单元格。而“=”是一个赋值运算符,将右边的值传给左边的变量。

    大家学会了吗,其实VBA还是比较简单的。小编准备写一个VBA入门的教程,现在有两种思路,一种是先讲解VB的基本知识,然后在从例子中不断加深理解,这样前期可能相对比较枯燥;另一种是每篇介绍一个例子,讲解一下如何用VBA来解决,从实战中学习,相对来说比较快一点。大家觉得那种更好一点呢,或者有更好的方法,欢迎在下方评论,小编一定会及时回复。。

excel宏与vba教程

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP