当前位置:文档之家› VBA程序开发--259个常用宏

VBA程序开发--259个常用宏

VBA程序开发--259个常用宏
VBA程序开发--259个常用宏

[VBA程序开发]★259个常用宏★(7月11日更新)[复制链接]

本人不懂代码,平时使用的宏是通过录制修改或论坛下载得到的,现将搜集整理的常用宏代码发到论坛与朋友们分享。文件中一定存在错误和不足,希望大家审阅提出,我会随时纠正、补充和改善。在此感谢各位朋友!

sRSpQWz1.zip(107.5 KB, 下载次数: 43307)

2007年7月11日更新

注:文件中有个文本框,是为了文件中的代码与表格中的相互复制数据方便所设。

说明:

如果你以前未曾使用过宏,需要操作:工具》选项》安全性》宏安全性》勾选“中”或“低”》退出Excel后再重新进入。

录制宏的过程:工具》宏》录制新宏》指定保存在当前工作簿》指定新宏的名称》开始录制》做你要做的系列工作》工具》宏》停止录制》做个按钮或图片》鼠标右键点它》指定宏》指定刚录制好的宏》以后要做上述系列工作点按钮即可

复制使用宏:打开你的工作簿》按Alt+F11进入VBA》在工程资源管理器窗口单击鼠标右键,选择插入—“模块”》代码粘贴到模块中》退出VBA》工具》宏》(使用宏:)选择这个宏》执行(或者插入按钮或图片,鼠标右击选择链接宏)

其他:附件中还包括所谓“工作簿代码”和“工作表代码”,是要鼠标右选工作簿名和工作表标签》查看代码》复制代码到其中,就可以使用了。

请参考山菊花超级版主的重要论述:

[此贴子已经被作者于2008-7-25 11:11:53编辑过] [本帖最后由 LangQueS 于 2009-8-5 21:09 编辑]

Excel宏功能简单应用介绍

OFFice几个出色招数 Word独门绝招: 一、输入三个“=”,回车,得到一条双直线; 二、输入三个“~”,回车,得到一条波浪线; 三、输入三个“*”或“-”或“#”,回车,惊喜多多; Powerpoint出色过招: Q:如果已经word写好一份报告,并且要根据报告的内容做幻灯片,怎么直接把 word文档的标题发送到powerPoint? A:打开word文档,从“文件”菜单单击“发送”命令,再选择发送到ppt。ppt 会自动启动,并且根据每个word文档的一级标题建立一张相同标题的幻灯片,其下的二级标题也会被自动添加到幻灯片。 Excel宏功能简单应用介绍 所谓宏,就是一组指令集,通过执行类似批处理的一组命令,来完成某种功能。Microsoft Office的组件都可以支持宏(Macro)的操作,而Office的宏是指使用VB Script指令集(VB编程语言的子集,可以使用VB的常用语句)编写的针对Office组件的小程序。利用宏,我们可以完成很多程序原本并不支持的特殊应用,比如完成某种特殊的数据计算,或者文档的特殊格式排版等等。下面,就让我们举个简单的例子,看看宏在Excel中如何应用。 有这样一个Excel表格,工作表Sheet1中的第2行的B列开始至D列的连续单元格中是一组共3个数据,第A列的第3行开始至第6行的连续单元格中是一组共4个日期,要编写一段宏来完成这样的工作:将Sheet1第2行的数据由左至右依次纵向复制到Sheet2的B列(从B2开始)中,然后将这组复制完的3个数据所在行的A列都填入Sheet1的A3单元格里面的日期,完成后重复之前的操作,将Sheet1第2行的数据再次复制到Sheet2的B列,这次是从上次复制的B列数据下面的空白单元格,也就是B5开始,然后再在这次复制的3个数据的左侧A列填入Sheet1的A4单元格的日期,这样反复循环,直到Sheet1的A列的所有日期都出现在了Sheet2的A列里面,也就是Sheet1的第2行数据在Sheet2的B列里面被复制了4次为止。 编写宏只要有一点点简单的VB编程知识就可以了,并不一定需要很高深的编程技巧,很多时候我们需要的只是一些重复的操作,我们可以通过宏的录制功

计算机二级access常用宏操作

常用宏操作 操作 说明 Beep 通过计算机的扬声器发出嘟嘟声。 Close 关闭指定的 Microsoft Access 窗口。如果没有指定窗口,则关闭活动窗口。 GoToControl 把焦点移到打开的窗体、窗体数据表、表数据表、查询数据表中当前记录的特定字段或控件上。 Maximize 放大活动窗口,使其充满 Microsoft Access 窗口。该操作可以使用户尽可能多地看到活动窗口中的对象。 Minimize 将活动窗口缩小为 Microsoft Access 窗口底部的小标题栏。 MsgBox 显示包含警告信息或其它信息的消息框。 OpenForm 打开一个窗体,并通过选择窗体的数据输入与窗口方式,来限制窗体所显示的记录。 OpenReport 在“设计”视图或打印预览中打开报表或立即打印报表。也可以限制需要在报表中打印的记录。 PrintOut 打印打开数据库中的活动对象,也可以打印数据表、报表、窗体和模块。 Quit 退出 Microsoft Access 。Quit 操作还可以指定在退出 Access 之前是否 保存数据库对象。 RepaintObject 完成指定数据库对象的屏幕更新。如果没有指定数据库对象,则对活动数据库对象进行更新。更新包括对象的所有控件的所有重新计算。 Restore 将处于最大化或最小化的窗口恢复为原来的大小。 RunMacro 运行宏。该宏可以在宏组中。 SetValue 对 Microsoft Access 窗体、窗体数据表或报表上的字段、控件或属性的值进行设置。 StopMacro 停止当前正在运行的宏。 常见操作: 1打开或关闭数据库对象 OpenForm 命令用于打开窗体。 OpenReport 命令用于打开报表。 OpenQuerv 命令用于打开查询。 Close 命令用于关闭数据库对象。 2运行和控制流程 RunSQL 命令用于执行指定的SQL 语句。 RunApp 命令用于执行指定的外部应用程序。 Quit 命令用于退出Access 。 3设置值 SetValue 命令用于设置属性值。 4刷新、查找或定位记录 Requery 命令用于实施指定控件重新查询及刷新控件数据。 FindRecord 命令用于查找满足指定条件的第一条记录。

excel常用宏集合

65:删除包含固定文本单元的行或列 Sub 删除包含固定文本单元的行或列() Do Cells.Find(what:="哈哈").Activate Selection.EntireRow.Delete '删除行 ' Selection.EntireColumn.Delete '删除列 Loop Until Cells.Find(what:="哈哈") Is Nothing End Sub 72:在指定颜色区域选择单元时添加/取消"√"(工作表代码) Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myrg As Range For Each myrg In Target If myrg.Interior.ColorIndex = 37 Then myrg = IIf(myrg <> "√", "√", "") Next End Sub 73:在指定区域选择单元时添加/取消"√"(工作表代码) Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Rng As Range If Target.Count <= 15 Then If Not Application.Intersect(Target, Range("D6:D20")) Is Nothing Then For Each Rng In Selection With Rng If .Value = "" Then .Value = "√" Else .Value = "" End If End With Next End If End If End Sub 74:双击指定单元,循环录入文本(工作表代码)

一些实用的excel宏

Excel宏教程 一、选中单个单元格 Range(“<单元格地址>“).Select 例:Range("C9").Select …选中“C9”单元格 二、选中多个单元格 Range(“<单元格地址>:<单元格地址>[,<单元格地址>……]”).Select 例:Range(“A1:B2”).Select…选中“A1”、“A2”、“B1”、“B2”四个连续的单元格Range(“12:12”).Select…选中第12行 Range(“B:B”).Select…选中第B列 Range(“A1:A2,B7,2:2”).Select…选中“A1”、“A2”、“B7”五个不连续的单元格和第二行Cells.Select …选中当前SHEET中的所有单元格 Rows("<行地址>:<行地址>").Select …选中整行 Columns("<列地址>:<列地址>").Select …选中整列 例:Rows(“2:2”). Select…选中第2行 Rows(“2:5”). Select…选中2到5行 Columns("A:A").Select …选中A列 Columns("E:B").Select …选中E到B列

三、设置活动单元格 Range("<单元格地址>").Activate 注:设置活动单元格与选中单元格类似,不同之处就是 后者在选中指定的单元格之前会将在此前已被选中的单元格取消掉。 前者在设置之前不会取消已选中的单元格, 如果此时操作的单元格不是被选中的单元格,这时他实现的功能与选一个单元格相同。 四、给活动的单元格赋值 ActiveCell.FormulaR1C1 = <值> 例:Range("A1").Select ActiveCell.FormulaR1C1 = "Name" Range("B1").Select ActiveCell.FormulaR1C1 = "Age" Range("A2:B3").Select Range("A2").Activate ActiveCell.FormulaR1C1 = " BUG" Range("B2").Activate ActiveCell.FormulaR1C1 = "12" Range("A3").Activate ActiveCell.FormulaR1C1 = "Archer" Range("B3").Activate ActiveCell.FormulaR1C1 = "37"

excel常用宏

1.拆分单元格赋值 Sub 拆分填充() Dim x As Range For Each x In https://www.doczj.com/doc/da10543300.html,edRange.Cells If x.MergeCells Then x.Select x.UnMerge Selection.Value = x.Value End If Next x End Sub 2.E xcel 宏按列拆分多个excel Sub Macro1() Dim wb As Workbook, arr, rng As Range, d As Object, k, t, sh As Worksheet, i& Set rng = Range("A1:f1") Application.ScreenUpdating = False Application.DisplayAlerts = False arr = Range("a1:a" & Range("b" & Cells.Rows.Count).End(xlUp).Row) Set d = CreateObject("scripting.dictionary") For i = 2 To UBound(arr) If Not d.Exists(arr(i, 1)) Then Set d(arr(i, 1)) = Cells(i, 1).Resize(1, 13) Else Set d(arr(i, 1)) = Union(d(arr(i, 1)), Cells(i, 1).Resize(1, 13)) End If Next k = d.Keys t = d.Items For i = 0 To d.Count - 1 Set wb = Workbooks.Add(xlWBATWorksheet) With wb.Sheets(1) rng.Copy .[A1] t(i).Copy .[A2] End With wb.SaveAs Filename:=ThisWorkbook.Path & "\" & k(i) & ".xlsx" wb.Close Next

Excel宏功能简单应用介绍

Excel宏功能简单应用介绍 所谓宏,就是一组指令集,通过执行类似批处理的一组命令,来完成某种功能。MicrosoftOffice的组件都可以支持宏(Macro)的操作,而Office的宏是指使用VB Script指令集(VB编程语言的子集,可以使用VB的常用语句)编写的针对Office组件的小程序。利用宏,我们可以完成很多程序原本并不支持的特殊应用,比如完成某种特殊的数据计算,或者文档的特殊格式排版等等。下面,就让我们举个简单的例子,看看宏在Excel中如何应用。 有这样一个Excel表格,工作表Sheet1中的第2行的B列开始至D列的连续单元格中是一组共3个数据,第A列的第3行开始至第6行的连续单元格中是一组共4个日期,要编写一段宏来完成这样的工作:将Sheet1第2行的数据由左至右依次纵向复制到Sheet2的B列(从B2开始)中,然后将这组复制完的3个数据所在行的A列都填入Sheet1的A3单元格里面的日期,完成后重复之前的操作,将Sheet1第2行的数据再次复制到Sheet2的B列,这次是从上次复制的B列数据下面的空白单元格,也就是B5开始,然后再在这次复制的3个数据的左侧A列填入Sheet1的A4单元格的日期,这样反复循环,直到She et1的A列的所有日期都出现在了Sheet2的A列里面,也就是Sheet1的第2行数据在 Sheet2的B列里面被复制了4次为止。 编写宏只要有一点点简单的VB编程知识就可以了,并不一定需要很高深的编程技巧,很多时候我们需要的只是一些重复的操作,我们可以通过宏的录制功能来录制一次需要的操作过程,然后再对已经录制的宏进行简单的修改,就能得到所需要的宏了。 对于上面这个事例,实际上只是简单的复制操作,所以甚至连录制的工作都可以省掉了。因为所需要的操作是一个循环的过程,所以我们可以使用一个循环语句来编写程序,这样只要写出一个完成的复制过程,一次循环就可以达到我们的目的了。循环判断的依据就是是否Sheet1的A列所有日期都复制过了,因为数据都是连续排列的,艘以我们可以把Sheet1的A列某个单元格是否有数据作为进入循环的条件,依次复制日期,直到A7这个没有数据的空单元格,循环结束,我们的工作也就完成了。至于循环里面的内容,我们同样再嵌套一个循环,只不过这次是判断第2行的数据是否全都复制完成了,在这个循环里面自然就是单元格数据和日期的复制了。 Sub Macro1() Dim st1y Dim st2y Dim st1x

办公高手EXCEL常用宏命令

办公高手.EXCEL常用宏命令 1 设置打开时弹出对话框的命令举例: Sub AUTO_OPEN() "输入打开工作表时要运行的代码或宏" End Bub 2 设置关闭时弹出对话框的命令举例: Sub AUTO_CLOSE() "输入关闭工作表时要运行的代码或宏" End Bub 3 设置提示框举例: MsgBox prompt:="温馨提示:您要打开的工作表有保护!", Buttons:=vbOKOnly, Title:="谷子提示 " i = MsgBox("系统提供不同服务,是否浏览资费信息?", vbYesNoCancel, "谷子提示:") If i = vbYes Then MsgBox "资费信息:********", , "谷子提示" Else "输入要运行的代码" End If 4、提示框内容过长,换行vbNewLine: MsgBox "您本次访问系统的时间是:" & Date & " " & Time & vbNewLine & "系统离到期日还剩余:" _ & DateDiff("d", Now, "2010-12-31") & " 天!" & vbNewLine & "是否查阅到期日说明?", vbYesNoCancel, "时间和到期日提示:" 5 提示提示系统的日期和时间: MsgBox "系统当前日期和时间:" & Date & " " & Time, , "时间提示" DateDiff("d", Now, "2010-10-31") & " 天!" ‘提示离指定日期的剩余天数 6 系统时间判断命令: Sub 判断时间测试() If Date > "2010-05-20" Then MsgBox "对不起,测试期间已经结束", , "谷子提示" Else Sheets("首页").Select '或其他命令 End If End Sub 7 禁止保存或另存的命令: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) MsgBox ("禁止保存") Cancel = True '或thisworkbook.saved=true End Sub 8 保护工作表与撤销保护 Sheet2.Protect Password:="123456", DrawingObjects:=True, Contents:=True, Scenarios:=True '保护工作表SHEET2 Sheet2.Unprotect ("123456") '解除保 护 9 保护工作簿与撤销保护 ActiveWorkbook.Protect Structure:=True, Windows:=False, Password:="123" ActiveWorkbook.Unprotect Password:="123"

EXCEL如何使用宏

在介绍学习VBA之前,应该花几分钟录制一个宏。 新术语:“宏”,指一系列EXCEL能够执行的VBA语句。 以下将要录制的宏非常简单,只是改变单元格颜色。请完成如下步骤: 1)打开新工作簿,确认其他工作簿已经关闭。 2)选择A1单元格。调出“常用”工具栏。 3)选择“工具”—“宏”—“录制新宏”。 4)输入“改变颜色”作为宏名替换默认宏名,单击确定,注意,此时状态栏中显示“录制”,特别是“停止录制”工具栏也显示出来。替换默认宏名主要是便于分别这些宏。 ★宏名最多可为255个字符,并且必须以字母开始。其中可用的字符包括:字母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。 5)选择“格式”的“单元格”,选择“图案”选项中的红色,单击“确定”。 6)单击“停止录制”工具栏按钮,结束宏录制过程。 ※如果“停止录制”工具栏开始并未出现,请选择“工具”—“宏”—“停止录制”。 录制完一个宏后就可以执行它了。 1.4 执行宏 当执行一个宏时,EXCEL按照宏语句执行的情况就像VBA代码在对EXCEL进行“遥控”。但VBA的“遥控”不仅能使操作变得简便,还能使你获得一些使用EXCEL标准命令所无法实现的功能。而且,一旦熟悉了EXCEL的“遥控”,你都会奇怪自己在没有这些“遥控”的情况下,到底是怎么熬过来的。要执行刚才录制的宏,可以按以下步骤进行: 1)选择任何一个单元格,比如A3。 2)选择“工具”—“宏”—“宏”,显示“宏”对话框。 3)选择“改变颜色”,选择“执行”,则A3单元格的颜色变为红色。试着选择其它单元格和几个单元格组成的区域,然后再执行宏,以便加深印象。 1.5 查看录制的代码 到底是什么在控制EXCEL的运行呢?你可能有些疑惑.好,让我们看看VBA的语句吧. 1)选择“工具”—“宏”—“宏”,显示“宏”对话框。 2)单击列表中的“改变颜色”,选择“编辑”按钮。 此时,会打开VBA的编辑器窗口(VBE)。关于该编辑器,以后再详细说明,先将注意力集中到显示的代码上。代码如下:(日期和姓名会有不同) Sub 改变颜色() ' ' 改变颜色Macro ' xw 记录的宏2000-6-10 ' ' With Selection.Interior

Excel VBA 常用代码50例

Excel VBA 常用代码50例 001。用命令按扭打印一个sheet1中B2:M30区域中的内容? 我想在Sheet2中制件一个命令按扭, 打印表Sheet1中的[B2:M30] 区域中的内容? 解答:可以将打印区域设为b2:m30,然后打印,如:sheets("sheet1").printarea="b2:m30" sheets("sheet1").printout 随手写的,你可以试试看。最简单的方法是:你先录制宏,在录制宏过程中,跑到页面设臵里面,把打印范围设臵到你想要的范围。 然后退出,停止录制宏,你就可以得到一些代码! 002。能否对一列中的文字统一去掉最后一个字?这些文字不统一,有些字数多,有些字数少。如何处理?我用{"&-}不行 解答:=REPLACE(A1,LEN(A1),1," ")(在过渡列进行) 003.能否根据单元格数值自动标记序号? 各位大佬,一工作表有两列,“序号”及“金额”,能否将金额不等于0的行自动标上序号呢?如无现成的函数,应怎样设臵? 解答:Dim xuhao As Integer xuhao = 1

Range("b2").Select Do While Selection <> "" If Selection <> 0 Then ActiveCell.Previous.Value = xuhao xuhao = xuhao + 1 End If ActiveCell.Offset(1, 0).Range("a1").Select Loop 004.求教自定义函数 查询了一些自定义函数的例子都是单变量的。自定义函数能否建立“(As Range) As Interger”的函数,应该可以的,请各位大师赐教!请以“∑x2”为例,万分感谢!(该用"For Each ...Next",就是还不知道如何引用Range中的每个值,请高手指点。) 解答:参数使用Range而函数值为Integer是可以的 用for each next循环思路也是对的,应该这样作: dim rg as range dim ivalue as integer for each rg in 参数区域 ivalue=ivalue+rg.value next

3.35法师常用宏

#showtooltip [nopet] [target=pet,dead] 召唤水元素; [pet] 冰冻术 /cast [nopet]召唤水元素 /cast [target=pet,dead]召唤水元素 /stopmacro [target=pet,dead] /cast 冰冻术 /petpassive /petattack [harm] /petfollow [noharm] 以下是套装组件: 按ALT1级冰箭,不按顶级冰箭,水元素发射冰箭 这个宏不会让水元素重新读冰箭但是一定要不停的按才会一直放。 所以有下面的那个火冲宏 #showtooltip 寒冰箭 /Cast [modifier:alt] 寒冰箭(等级1);寒冰箭 /click PetActionButton4 火冲/奥爆,BB攻击 这个宏如果不停的按的话会让BB打断之前的一个冰箭,所以和火冲绑在一起是最好的。#showtooltip 火焰冲击 /cast [harm]火焰冲击(等级9);暴风雪(等级1) /petattack 焦点变羊宏,ALT变焦点不ALT变当前目标同时BB被动跟随 #showtooltip 变形术 /cast [modifier:alt,target=focus,exists] 变形术; 变形术 /click PetActionButton10 /petfollow 以上三个宏组共同作用于水元素, 使用起来得心应手,希望大家喜欢。 按ALT焦点反制,否则反制当前目标 #showtooltip 法术反制 /Cast [modifier:alt,target=focus,exists] 法术反制;法术反制 这个宏是有焦点的时候按ALT反制焦点,没有焦点存在则反制当前目标。———————————————————————————————————————

EXCEL宏编辑命令

voko007 259个常用宏-excelhome(1) 2009-08-15 14:10:24 目录 1、打开全部隐藏工作表 2、循环宏 3、录制宏时调用“停止录制”工具栏 4、高级筛选5列不重复数据至指定表 5、双击单元执行宏(工作表代码) 6、双击指定区域单元执行宏(工作表代码) 7、进入单元执行宏(工作表代码) 8、进入指定区域单元执行宏(工作表代码) 9、在多个宏中依次循环执行一个(控件按钮代码) 10、在两个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码) 11、在三个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码) 12、根据A1单元文本隐藏/显示按钮(控件按钮代码) 13、当前单元返回按钮名称(控件按钮代码) 14、当前单元内容返回到按钮名称(控件按钮代码) 15、奇偶页分别打印 16、自动打印多工作表第一页 17、查找A列文本循环插入分页符 18、将A列最后数据行以上的所有B列图片大小调整为所在单元大小 19、返回光标所在行数 20、在A1返回当前选中单元格数量 21、返回当前工作簿中工作表数量 22、返回光标选择区域的行数和列数 23、工作表中包含数据的最大行数 24、返回A列数据的最大行数 25、将所选区域文本插入新建文本框 26、批量插入地址批注 27、批量插入统一批注 28、以A1单元内容批量插入批注 29、不连续区域插入当前文件名和表名及地址 30、不连续区域录入当前单元地址 31、连续区域录入当前单元地址 32、返回当前单元地址 33、不连续区域录入当前日期 34、不连续区域录入当前数字日期 35、不连续区域录入当前日期和时间 36、不连续区域录入对勾 37、不连续区域录入当前文件名 38、不连续区域添加文本

财务常用宏代码

说明:下列“宏“笔者经常使用 我们无需了解VBA语句,无需懂、重在会用 注:由于WORD文档会存在一些乱字符,影响宏的使用,请同时参考财税常用宏的RTF文档 目录 统计工作表数量 (1) 批量取消超级链接 (1) 拆解工作簿 (2) 合并工作簿 (2) 破解单元格锁定密码方法1 (2) 破解单元格锁定密码方法2 (3) 批量修改工作表名 (5) 批量更改数据透视表值字段汇总方式 (6) 工作表中的图表转换成图片 (6) 统计工作表数量 Sub 工作表统计() MsgBox "本工作簿中共有" &ThisWorkbook.Worksheets.Count& "个工作表" End Sub 批量取消超级链接 Sub removehyperlinks() Activesheet.hyperlinks.delete End sub

拆解工作簿 Sub 拆解工作簿() 'design by 邢荣 Dim iAs Integer For i = 1 ToSheets.Count Sheets(i).Copy ActiveWorkbook.SaveAs "e:\temp\" &https://www.doczj.com/doc/da10543300.html,& ".xlsx" ThisWorkbook.Activate Next i End Sub 注:拆分的文件存放到e:\temp目录下,可根据需要修改存放文件夹 合并工作簿 Sub 合并工作薄() Dim FilesToOpen Dim x As Integer On Error GoToErrHandler Application.ScreenUpdating = False FilesToOpen = Application.GetOpenFilename _ (FileFilter:="MicroSoft Excel文件(*.xlsx), *.xls", _ MultiSelect:=True, Title:="要合并的文件") If TypeName(FilesToOpen) = "Boolean" Then MsgBox "没有选中文件" GoToExitHandler End If x = 1 While x <= UBound(FilesToOpen) Workbooks.Open Filename:=FilesToOpen(x) Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) x = x + 1 Wend ExitHandler: Application.ScreenUpdating = True Exit Sub ErrHandler: MsgBoxErr.Description Resume ExitHandler End Sub 注:创建一个新的空EXCEL文件,然后粘贴SUB到end SUB之间的语句,F5运行,选择要合并的EXCEL文件(SHIFT多选) 破解单元格锁定密码方法1

【强烈推荐】Excel宏的用法详解讲解

宏的用法详解 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用excel的宏语言来使excel自动化,使用word BASIC使word自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA,可以认为VBA是非常流行的应用程序开发语言VASUAL BASIC 的子集.实际上VBA是"寄生于"VB应用程序的版本.VBA和VB的区别包括如下几个方面: 1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(excel等自动化 2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序. 3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE,而VBA开发的程序必须依赖于它的"父"应用程序,例如excel. 尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在excel中用VBA创建解决方案后,即已具备在word access OUTLOOK FOXPRO PROWERPOINT 中用VBA创建解决方案的大部分知识. * VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化. * VBA可以称作excel的“遥控器”. VBA究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案. 此外,如果你愿意,还可以将excel用做开发平台实现应用程序. 1.2 excel环境中基于应用程序自动化的优点 也许你想知道VBA可以干什么?使用VBA可以实现的功能包括: 1. 使重复的任务自动化. 2. 自定义excel工具栏,菜单和界面. 3. 简化模板的使用.

【免费下载】EXCEL宏的使用

目录 EXCEL宏的使用 (2) 一、选中单个单元格 (2) 二、选中多个单元格 (2) 三、设置活动单元格 (2) 四、给活动的单元格赋值 (3) 五、得到指定单元格中的值 (3) 六、插入单元格 (3) 七、设置字体属性 (4) 八、清空选中单元格里的内容 (5) 九、设置选中单元格的边线属性 (5) 十、删除选中的单元格 (6) 十一、设置单元格背景色及图案 (7) 十二、返回工作表中的行数 (8) 十三、得到当前EXCEL的文件名 (8) 十四、批注的操作 (8) 十五、剪切、复制、粘贴 (9) 十六、选择性粘贴 (10) 十七、改变列宽 (10) 1

EXCEL宏的使用 一、选中单个单元格 Range(“<单元格地址>“).Select 例:Range("C9").Select ‘选中“C9”单元格 二、选中多个单元格 Range(“<单元格地址>:<单元格地址>[,<单元格地址>……]”).Select 例:Range(“A1:B2”).Select ‘选中“A1”、“A2”、“B1”、“B2”四个连续的单元格 Range(“12:12”).Select ‘选中第12行 Range(“B:B”).Select ‘选中第B列 Range(“A1:A2,B7,2:2”).Select ‘选中“A1”、“A2”、“B7”五个不连续的单元格和第二行 Cells.Select ‘选中当前SHEET中的所有单元格 Rows("<行地址>:<行地址>").Select ‘选中整行 Columns("<列地址>:<列地址>").Select ‘选中整列 例:Rows(“2:2”). Select ‘选中第2行 Rows(“2:5”). Select ‘选中2到5行 Columns("A:A").Select ‘选中A列 Columns("E:B").Select ‘选中E到B列 三、设置活动单元格 Range("<单元格地址>").Activate 注:设置活动单元格与选中单元格类似,不同之处就是 后者在选中指定的单元格之前会将在此前已被选中的单元格取消掉。 前者在设置之前不会取消已选中的单元格,如果此时操作的单元格不是被选中的单元格,这时他实现的功能与选一个单元格相同。 2

Excel常用宏大全

Excel 常用宏大全(一) 259个常用宏-excelhome-LangQueS(1) 2008-04-01 17:21 打开全部隐藏工作表 Sub 打开全部隐藏工作表() Dim i As Integer For i = 1 To Sheets.Count Sheets(i).Visible = True Next i End Sub 循环宏 Sub 循环() AAA = Range("C2") Dim i As Long Dim times As Long times = AAA 'times代表循环次数,执行前把times赋值即可(不可小于1,不可大于47) For i = 1 To times Call 过滤一行 If Range("完成标志") = "完成" Then Exit For '如果名为'完成标志'的命名单元的值等于'完成',则退出循环,如果一开始就等于'完成',则只执行一次循环就退出 'If Sheets("传送参数").Range("A" & i).Text = "完成" Then Exit For '如果某列出现"完成"内容则退出循环

Next i End Sub 录制宏时调用“停止录制”工具栏 Sub 录制宏时调用停止录制工具栏() https://www.doczj.com/doc/da10543300.html,mandBars("Stop Recording").Visible = True End Sub 高级筛选5列不重复数据至指定表 Sub 高级筛选5列不重复数据至Sheet2() Sheets("Sheet2").Range("A1:E65536") = "" '清除Sheet2的A:D列 Range("A1:E65536").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheet2.Range( _ "A1"), Unique:=True Sheet2.Columns("A:E").Sort Key1:=Sheet2.Range("A2"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin End Sub 双击单元执行宏(工作表代码) Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Range("$A$1") = "关闭" Then Exit Sub Select Case Target.Address Case "$A$4" Call 宏1

Excel常见宏命令

清除剪贴板 Sub清除剪贴板() Application.CutCopyMode=False https://www.doczj.com/doc/da10543300.html,mandBars("Task Pane").Visible=False End Sub 批量清除软回车 Sub批量清除软回车() '也可直接使用Alt+10或13替换 Cells.Replace What:=Chr(10),Replacement:="", LookAt:=xlPart,SearchOrder:=_ xlByRows,MatchCase:=False,SearchFormat:=False, ReplaceFormat:=False End Sub 判断指定文件是否已经打开 Sub判断指定文件是否已经打开() Dim x As Integer For x=1To Workbooks.Count If Workbooks(x).Name="函数.xls"Then'文件名称MsgBox"文件已打开" Exit Sub End If Next MsgBox"文件未打开" End Sub 当前文件另存到指定目录 Sub当前激活文件另存到指定目录() ActiveWorkbook.SaveAs Filename:="E:\信件\"& https://www.doczj.com/doc/da10543300.html, End Sub

另存指定文件名 Sub另存指定文件名() ActiveWorkbook.SaveAs ThisWorkbook.Path&"\别名.xls" End Sub 以本工作表名称另存文件到当前目录 Sub以本工作表名称另存文件到当前目录() ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path&"\" &https://www.doczj.com/doc/da10543300.html,&".xls" End Sub 将本工作表单独另存文件到Excel当前默认目录 Sub将本工作表单独另存文件到Excel当前默认目录() ActiveSheet.Copy ActiveWorkbook.SaveAs Filename:=https://www.doczj.com/doc/da10543300.html,& ".xls" End Sub 以活动工作表名称另存文件到Excel当前默认目录 Sub以活动工作表名称另存文件到Excel当前默认目录() ActiveWorkbook.SaveAs Filename:=https://www.doczj.com/doc/da10543300.html,& ".xls",FileFormat:=_ xlNormal,Password:="",WriteResPassword:="", ReadOnlyRecommended:=False_ ,CreateBackup:=False End Sub 另存所有工作表为工作簿 Sub另存所有工作表为工作簿() Dim sht As Worksheet Application.ScreenUpdating=False ipath=ThisWorkbook.Path&"\" For Each sht In Sheets

Access常用宏操作简介_共5页

Access常用宏操作简介 1.AddMenu:用于将菜单添加到自定义的菜单栏上,菜单栏中每个菜单都需要一个独立的AddMenu操作。 菜单栏名称:输入菜单项的名称。 菜单宏名字:选定菜单命令所执行的宏。 状态栏名称:用户选择菜单时状态栏的提示信息。 2.ApplyFilter:用于筛选窗体或报表中的记录。 筛选名称:查询的名称。 Where条件:有关限制条件。 3.Beep:用于产生铃声。 4.CancelEvent:取消当前事件。 5.Close:关闭指定窗口。 对象类型:如表、窗体等。如果为空则关闭激活窗口。 对象名称:要关闭的对象名称。 保存:关闭窗口时,是否对打开对象进行保存。 6.CopyObject:将数据库对象复制到目标数据库中。 目标数据库:目标数据库的有效路径和文件名称。 源对象类型:要复制的对象类型。如表、窗体等。 源对象名称:要复制的对象名称。 新名称对象的新名称:在将对象复制到不同的数据库时,如果将此参数留空,可使对象保留原来的名称不变。 7.DeleteObject:删除指定对象。 对象类型:要删除对象的类型。如表、窗体等。 对象名称:要删除对象的名称。

8.Echo:可以指定是否打开回响(回响:运行宏时Access更新或重画屏幕的过程。)例如:可以使用该操作在宏运行时隐藏或显示运行结果。 打开回响:选择“否”表示宏执行过程中不显示执行结果,直接运行结 束后才显示。 状态栏文字:关闭回响时状态栏显示的信息。 9.FindNext:查找下一个符合查询条件的记录。 10.FindRecord:查找符合FindRecord参数指定条件的数据库的第一个实例。 查找内容:指定要在记录中查找的数据。 匹配:指定数据在字段中所在的位置。 区分大小写:指定该搜索是否区分大小写。 搜索:指定查找的范围。 格式化搜索:指定搜索中是否包含带格式的数据。 只搜索当前字段:指定是在每个记录的当前字段中进行搜索还是在每个记录的所有字段中进行搜索。 查找第一个:指定是从第一个记录还是从当前记录开始搜索。 11.GotControl:用于将焦点转移到指定对象。 控件名称:接受焦点的字段或控件的名称。 12.GotoPage:将焦点转移到窗体中指定的页。 页码:要将焦点移动到的页的页码。 右:此页左上角边缘的水平位置,从页所在窗口的左边缘开始算起。 下:此页左上角的垂直位置,从页所在窗口的上边缘开始算起。 13.GotoRecord:使打开着的表、窗体或查询结果集中的指定记录变成当前记录。 对象类型:包含要作为当前记录的对象类型。

Execl宏程序总结

宏 Sub Macro1() ' ' Macro1 Macro ' 宏由lenovo 录制,时间: 2012/9/19 ' ' 快捷键: Ctrl+z ' k = 1 '循环变量 Do While k <= Worksheets.Count '工作表数量 Sheets(k).Select '逐个设置工作为当前工作表 Rem ====确定真正的最后一行 Rem ====先用定位的方法找到工作表中的最后一个单元格 Selection.SpecialCells(xlCellTypeLastCell).Select flag = False Rem ====向上循环判断是否是空行 Do While flag = False Rem ====如果是第一行,退出循环,否则后面的Offset语句向上移动时会出错If ActiveCell.Row = 1 Then Exit Do End If Rem ====判断当前行是不是空行 Selection.End(xlToLeft).Select temp1 = IsEmpty(ActiveCell.Value) Selection.End(xlToRight).Select temp2 = IsEmpty(ActiveCell.Value) If temp1 = True And temp2 = True Then Rem ====如果是空行则选择上一行 Selection.Offset(-1, 0).Select Else Rem====如果不是空行,说明已经是真正的最后一行,退出循环 flag = True Exit Do End If Loop Rem====把最后一行的行号赋给一个变量 row_last = ActiveCell.Row Cells(row_last, 1).Select

Excel宏功能简单应用介绍

Excel宏功能简单应用介绍 所谓宏,就是一组指令集,通过执行类似批处理的一组命令,来完成某种功能。Microsoft Office的组件都可以支持宏(Macro)的操作,而Office的宏是指使用VB Script指令集(VB编程语言的子集,可以使用VB的常用语句)编写的针对Office组件的小程序。利用宏,我们可以完成很多程序原本并不支持的特殊应用,比如完成某种特殊的数据计算,或者文档的特殊格式排版等等。下面,就让我们举个简单的例子,看看宏在Excel中如何应用。 有这样一个Excel表格,工作表Sheet1中的第2行的B列开始至D列的连续单元格中是一组共3个数据,第A列的第3行开始至第6行的连续单元格中是一组共4个日期,要编写一段宏来完成这样的工作:将Sheet1第2行的数据由左至右依次纵向复制到Sheet2的B列(从B2开始)中,然后将这组复制完的3个数据所在行的A列都填入Sheet1的A3单元格里面的日期,完成后重复之前的操作,将Sheet1第2行的数据再次复制到Sheet2的B列,这次是从上次复制的B 列数据下面的空白单元格,也就是B5开始,然后再在这次复制的3个数据的左侧A列填入Sheet1的A4单元格的日期,这样反复循环,直到Sheet1的A列的所有日期都出现在了Sheet2的A列里面,也就是Sheet1的第2行数据在Sheet2的B列里面被复制了4次为止。 编写宏只要有一点点简单的VB编程知识就可以了,并不一定需要很高深的编程技巧,很多时候我们需要的只是一些重复的操作,我们可以通过宏的录制功能来录制一次需要的操作过程,然后再对已经录制的宏进行简单的修改,就能得到所需要的宏了。

相关主题
文本预览
相关文档 最新文档