excelVBA常用函数

excelVBA常用函数
excelVBA常用函数

(1) Option Explicit '强制对模块内所有变量进行声明

Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示

Option Compare Text '字符串不区分大小写

Option Base 1 '指定数组的第一个下标为1

(2) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息

(3) On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置

(4) On Error GoTo 0 '恢复正常的错误提示

(5) Application.DisplayAlerts=False '在程序执行过程中使出现的警告框不显示

(6) Application.ScreenUpdating=False '关闭屏幕刷新

Application.ScreenUpdating=True '打开屏幕刷新

(7) Application.Enable.CancelKey=xlDisabled '禁用Ctrl+Break中止宏运行的功能

工作簿

(8) Workbooks.Add() '创建一个新的工作簿

(9) Workbooks(“book1.xls”).Activate '激活名为book1的工作簿

(10) ThisWorkbook.Save '保存工作簿

(11) ThisWorkbook.close '关闭当前工作簿

(12) ActiveWorkbook.Sheets.Count '获取活动工作薄中工作表数

(13) https://www.360docs.net/doc/1718491922.html, '返回活动工作薄的名称

(14) https://www.360docs.net/doc/1718491922.html, …返回当前工作簿名称

ThisWorkbook.FullName …返回当前工作簿路径和名称

(15) ActiveWindow.EnableResize=False …禁止调整活动工作簿的大小

(16) Application.Window.Arrange xlArrangeStyleTiled …将工作簿以平铺方式排列

(17) ActiveWorkbook.WindowState=xlMaximized …将当前工作簿最大化工作表

(18) https://www.360docs.net/doc/1718491922.html,edRange.Row s.Count …当前工作表中已使用的行数

(19) Rows.Count …获取工作表的行数(注:考虑向前兼容性)

(20) Sheets(Sheet1).Name= “Sum” '将Sheet1命名为Sum

(21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) '添加一个新工作表在第一工作表前

(22) ActiveSheet.Move After:=ActiveWorkbook. _

Sheets(ActiveWorkbook.Sheets.Count) '将当前工作表移至工作表的最后

(23) Worksheets(Array(“sheet1”,”sheet2”)).Select '同时选择工作表1和工作表2

(24) Sheets(“sheet1”).Delete或Sheets(1).Delete '删除工作表1

(25) ActiveWorkbook.Sheets(i).Name '获取工作表i的名称

(26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines '切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮

(27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings …切换工作表中的行列边框显示

(28) https://www.360docs.net/doc/1718491922.html,edRange.FormatConditions.Delete …删除当前工作表中所有的条件格式

(29) Cells.Hyperlinks.Delete …取消当前工作表所有超链接

(30) ActiveSheet.PageSetup.Orientation=xlLandscape

或ActiveSheet.PageSetup.Orientation=2 '将页面设置更改为横向

(31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName …在页面设置的表尾中输入文件路径

ActiveSheet.PageSetup.LeftFooter=https://www.360docs.net/doc/1718491922.html,erName …将用户名放置在活动工作表的页脚

单元格/单元格区域

(32) ActiveCell.CurrentRegion.Select

或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select

'选择当前活动单元格所包含的范围,上下左右无空行

(33) Cells.Select …选定当前工作表的所有单元格

(34) Range(“A1”).ClearContents '清除活动工作表上单元格A1中的内容

Selection.ClearContents '清除选定区域内容

Range(“A1:D4”).Clear '彻底清除A1至D4单元格区域的内容,包括格式

(35) Cells.Clear '清除工作表中所有单元格的内容

(36) ActiveCell.Offset(1,0).Select '活动单元格下移一行,同理,可下移一列

(37) Range(“A1”).Offset(ColumnOffset:=1)或Range(“A1”).Offset(,1) …偏移一列

Range(“A1”).Offset(Rowoffset:=-1)或Range(“A1”).Offset(-1) …向上偏移一行

(38) Range(“A1”).Copy Range(“B1”) '复制单元格A1,粘贴到单元格B1中

Range(“A1:D8”).Copy Range(“F1”) '将单元格区域复制到单元格F1开始的区域中

Range(“A1:D8”).Cut Range(“F1”) '剪切单元格区域A1至D8,复制到单元格F1开始的区域中

Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) '复制包含A1的单元格区域到工作表2中以A1起始的单元格区域中

注:CurrentRegion属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列

(39) ActiveWindow.RangeSelection.Value=XX '将值XX输入到所选单元格区域中

(40) ActiveWindow.RangeSelection.Count '活动窗口中选择的单元格数

(41) Selection.Count '当前选中区域的单元格数

(42) GetAddress=Replace(Hyperlinkcell.Hyperlinks(1).Address,mailto:,”“) …返回单元格中超级链接的地址并赋值

(43) TextColor=Range(“A1”).Font.ColorIndex …检查单元格A1的文本颜色并返回颜色索引

Range(“A1”).Interior.ColorIndex …获取单元格A1背景色

(44) cells.count …返回当前工作表的单元格数

(45) Selection.Range(“E4”).Select …激活当前活动单元格下方3行,向右4列的单元格

(46) Cells.Item(5,”C”) …引单元格C5

Cells.Ite m(5,3) …引单元格C5

(47) Range(“A1”).Offset(RowOffset:=4,ColumnOffset:=5)

或Range(“A1”).Offset(4,5) …指定单元格F5

(48) Range(“B3”).Resize(RowSize:=11,ColumnSize:=3)

Rnage(“B3”).Resize(11,3) …创建B3:D13区域

(49) Range(“Data”).Resize(,2) …将Data区域扩充2列

(50) Union(Range(“Data1”),Range(“Data2”)) …将Data1和Data2区域连接

(51) Intersect(Range(“Data1”),Range(“Data2”)) …返回Data1和Data2区域的交叉区域

(52) Range(“Data”).Count …单元格区域Data中的单元格数

Range(“Data”). Columns.Count …单元格区域Data中的列数

Range(“Data”). Rows.Count …单元格区域Data中的行数

(53) Selection.Columns.Count …当前选中的单元格区域中的列数

Selection.Rows.Count …当前选中的单元格区域中的行数

(54) Selection.Areas.Count …选中的单元格区域所包含的区域数

(55) https://www.360docs.net/doc/1718491922.html,edRange.Row …获取单元格区域中使用的第一行的行号

(56) Rng.Column …获取单元格区域Rng左上角单元格所在列编号

(57) ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormat Conditions) …在活动工作表中返回所有符合条件格式设置的区域

(58) Range(“A1”).AutoFilter Field:=3,VisibleDropDown:=False …关闭由于执行自动筛选命令产生的第3个字段的下拉列表名称

(59) Range(“A1:C3”).Name=“computer” …命名A1:C3区域为computer

或Range(“D1:E6”).Name=“Sheet1!book” …命名局部变量,即Sheet1上区域D1:E6为book 或Names(“computer”).Name=“robot” …将区域computer重命名为robot

(60) Names(“book”).Delete …删除名称

(61) Names.Add Name:=“ContentList”,_

RefersTo:=“=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))” …动态命名列

(62) Names.Add Name:=“Company”,RefersTo:=“CompanyCar” …命名字符串CompanyCar

(63) Names.Add Name:=“Total”,RefersTo:=123456 …将数字123456命名为Total。注意数字不能加引号,否则就是命名字符串了。

(64) Names.Add Name:=“MyArray”,RefersTo:=ArrayNum …将数组ArrayNum命名为MyArray。

(65) Names.Add Name:=“ProduceNum”,RefersTo:=“=$B$1”,Visible:=False …将名称隐藏

(66) https://www.360docs.net/doc/1718491922.html,s(“Com”).Name …返回名称字符串公式与函数

(67) Application.WorksheetFunction.IsNumber(“A1”) '使用工作表函数检查A1单元格中的数据是否为数字

(68) Range(“A:A”).Find(Application.WorksheetFunction.Max(Range(“A:A”))).Activate

'激活单元格区域A列中最大值的单元格

(69) Cells(8,8).FormulaArray=“=SUM(R2C[-1]:R[-1]C[-1]*R2C:R[-1]C)” …在单元格中输入数

组公式。注意必须使用R1C1样式的表达式

图表

(70) ActiveSheet.ChartObjects.Count '获取当前工作表中图表的个数

(71) ActiveSheet.ChartObjects(“Chart1”).Select …选中当前工作表中图表Chart1

(72) ActiveSheet.ChartObjects(“Chart1”).Activate

ActiveChart.ChartArea.Select …选中当前图表区域

(73) WorkSheets(“Sheet1”).ChartObjects(“Chart2”).Chart. _

ChartArea.Interior.ColorIndex=2 …更改工作表中图表的图表区的颜色

(74) Sheets(“Chart2”).ChartArea.Interior.ColorIndex=2 …更改图表工作表中图表区的颜色

(75) Charts.Add …添加新的图表工作表

(76) ActiveChart.SetSourceData Source:=Sheets(“Sheet1”).Range(“A1:D5”), _

PlotBy:=xlColumns …指定图表数据源并按列排列

(77) ActiveChart.Location Where:=xlLocationAsNewSheet …新图表作为新图表工作表

(78) ActiveChart.PlotArea.Interior.ColorIndex=xlNone …将绘图区颜色变为白色

(79) WorkSheets(“Sheet1”).ChartObjects(1).Chart. _

Export FileName:=“C:MyChart.gif”,FilterName:=“GIF” …将图表1导出到C盘上并命名为MyChart.gif

窗体

(80) MsgBox “Hello!” '消息框中显示消息Hello

(81) Ans=MsgBox(“Continue?”,vbYesNo) '在消息框中点击”是”按钮,则Ans值为vbYes;点击”否”按钮,则Ans

值为vbNo。

If MsgBox(“Continue?”,vbYesNo)<>vbYes Then Exit Sub '返回值不为”是”,则退出

(82) Config=vbYesNo+vbQuestion+vbDefaultButton2 '使用常量的组合,赋值组Config变量,并设置第二个按钮为缺

省按钮

(83) MsgBox “This is the first line.” & vbNewLine & “Second line.” '在消息框中强制换行,可用vbCrLf

代替vbNewLine。

(84) MsgBox "the average is :"&Format(Application.WorksheetFunction.Average

(Selection),"#,##0.00"),vbInformation, "selection count average" & Chr(13) '应用工作表函数返回所选区域

的平均值并按指定格式显示

(85) Userform1.Show …显示用户窗体

(86) Load Userform1 …加载一个用户窗体,但该窗体处于隐藏状态

(87) Userform1.Hide …隐藏用户窗体

(88) Unload Userform1 或Unload Me …卸载用户窗体

(89) (图像控件).Pi cture=LoadPicture(“图像路径”) …在用户窗体中显示图形

(90) UserForm1.Show 0 或UserForm1.Show vbModeless …将窗体设置为无模式状态

(91) Me.Height=Int(0.88*ActiveWindow.Height) …窗体高度为当前活动窗口高度的0.88

Me.Width=Int(0.88*ActiveWindow.Width) …窗体宽度为当前活动窗口高度的0.88

事件

(92) Application.EnableEvents=False '禁用所有事件

Application.EnableEvents=True '启用所有事件

注:不适用于用户窗体控件触发的事件

对象

(93) Set ExcelSheet = CreateObject("Excel.Sheet") …创建一个Excel工作表对象ExcelSheet.Application.Visible = True '设置Application 对象使Excel 可见ExcelSheet.Application.Cells(1, 1).Value = "Data" '在表格的第一个单元中输入文本ExcelSheet.SaveAs "C:\TEST.XLS" '将该表格保存到C:\test.xls 目录ExcelSheet.Application.Quit '关闭Excel

Set ExcelSheet = Nothing '释放该对象变量

(94) …声明并创建一个Excel对象引用

Dim xlApp As Excel.Application

Dim xlBook As Excel.Workbook

Dim xlSheet As Excel.WorkSheet

Set xlApp = CreateObject("Excel.Application")

Set xlBook = xlApp.Workbooks.Add

Set xlSheet = xlBook.Worksheets(1)

(95) …创建并传递一个Excel.Application 对象的引用

Call MySub (CreateObject("Excel.Application"))

(96) S et d = CreateObject(Scripting.Dictionary) …创建一个Dictionary 对象变量

(97) d.Add "a", "Athens" '为对象变量添加关键字和条目

其他

(98) Application.OnKey “^I”,”macro” '设置Ctrl+I键为macro过程的快捷键

(99) Application.CutCopyMode=False …退出剪切/复制模式

(100) Application.Volatile True '无论何时工作表中任意单元格重新计算,都会强制计算该函数

Application.Volatile False '只有在该函数的一个或多个参数发生改变时,才会重新计算该函数

EXCEL VBA常用语句100句(2)

定制模块行为

(101) Err.Clear …清除程序运行过程中所有的错误

*******************************************************

工作簿

(102) ThisWorkbook.BuiltinDocumentProperties(“Last Save Time”)

或Application.Caller.Parent.Parent.BuiltinDocumentProperties(“Last Save Time”) …返回上次保存工作簿的

日期和时间

(103) ThisWorkbook.BuiltinDocumentProperties("Last Print Date")

或Application.Caller.Parent.Parent.BuiltinDocumentProperties(“Last Print Date”) …返回上次打印或预览

工作簿的日期和时间

(104) Workbooks.Close …关闭所有打开的工作簿

(105) ActiveWorkbook.LinkSources(xlExcelLinks)(1) …返回当前工作簿中的第一条链接

(106) ActiveWorkbook.CodeName

ThisWorkbook.CodeName …返回工作簿代码的名称

(107) ActiveWorkbook.FileFormat

ThisWorkbook.FileFormat …返回当前工作簿文件格式代码

(108) ThisWorkbook.Path

ActiveWorkbook.Path …返回当前工作簿的路径(注:若工作簿未保存,则为空)

(109) ThisWorkbook.ReadOnly

ActiveWorkbook.ReadOnly …返回当前工作簿的读/写值(为False)

(110) ThisWorkbook.Saved

ActiveWorkbook.Saved …返回工作簿的存储值(若已保存则为False)

(111) Application.Visible = False …隐藏工作簿

Application.Visible = True …显示工作簿

注:可与用户窗体配合使用,即在打开工作簿时将工作簿隐藏,只显示用户窗体.可设置控制按钮控制工作簿可见

*******************************************************

工作表

(112) ActiveSheet.Columns("B").Insert …在A列右侧插入列,即插入B列

ActiveSheet.Columns("E").Cut

ActiveSheet.Columns("B").Insert …以上两句将E列数据移至B列,原B列及以后的数据相应后移

ActiveSheet.Columns("B").Cut

ActiveSheet.Columns("E").Insert …以上两句将B列数据移至D列,原C列和D列数据相应左移一列

(113) ActiveSheet.Calculate …计算当前工作表

(114) ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetHidden …正常隐藏工作表,同在Excel菜单中选择”

格式——工作表——隐藏”操作一样

ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetVeryHidden …隐藏工作表,不能通过在Excel菜单中选择”

格式——工作表——取消隐藏”来重新显示工作表

ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetVisible …显示被隐藏的工作表

(115) ThisWorkbook.Sheets(1).ProtectContents …检查工作表是否受到保护

(116) ThisWorkbook.Worksheets.Add Count:=2, _

Before:=ThisWorkbook.Worksheets(2)

或ThisWorkbook.Workshees.Add ThisWorkbook.Worksheets(2), , 2 …在第二个工作表之前添加两个新的工作表

(117) ThisWorkbook.Worksheets(3).Copy …复制一个工作表到新的工作簿

(118) ThisWorkbook.Worksheets(3).Copy ThisWorkb ook.Worksheets(2) …复制第三个工作表到第二个工作表之前

(119) ThisWorkbook.ActiveSheet.Columns.ColumnWidth = 20 …改变工作表的列宽为20

ThisWorkbook.ActiveSheet.Columns.ColumnWidth = _

ThisWorkbook.ActiveSheet.StandardWidth …将工作表的列宽恢复为标准值

ThisWorkbook.ActiveSheet.Columns(1).ColumnWidth = 20 …改变工作表列1的宽度为20

(120) ThisWorkbook.ActiveSheet.Rows.RowHeight = 10 …改变工作表的行高为10

ThisWorkbook.ActiveSheet.Rows.RowHeight = _

ThisWorkbook.ActiveSheet.StandardHeight …将工作表的行高恢复为标准值

ThisWorkbook.ActiveSheet.Rows(1).RowHeight = 10 …改变工作表的行1的高度值设置为10

(121) ThisWorkbook.Worksheets(1).Activate …当前工作簿中的第一个工作表被激活

(122) ThisWorkbook.Worksheets("Sheet1").Rows(1).Font.Bold = True …设置工作表Sheet1中的行1数据为粗体

(123) ThisWorkbook.Worksheets("Sheet1").Rows(1).Hidden = True …将工作表Sheet1中的行1隐藏

ActiveCell.EntireRow.Hidden = True …将当前工作表中活动单元格所在的行隐藏

注:同样可用于列。

(124) ActiveSheet.Range(“A:A”).EntireColumn.AutoFit …自动调整当前工作表A列列宽

(125) ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues) …选中当前工作表中常量和文本单元格

ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues) …选中当前工作表中常量和文本

及错误值单元格

*******************************************************

公式与函数

(126) Application.MacroOptions Macro:=“SumPro”,Category:=4 …将自定义的SumPro函数指定给Excel中的”统

计函数”类别

(127) Application.MacroOptions Macro:=“SumPro”, _

Description:=“First Sum,then Product” …为自定义函数SumPro进行了功能说明

(128) Application.WorksheetFunction.CountA(Range(“A:A”))+1 …获取A列的下一个空单元格

(129) WorksheetFunction.CountA(Cell.EntireColumn) …返回该单元格所在列非空单元格的数量

Works heetFunction.CountA(Cell.EntireRow) …返回该单元格所在行非空单元格的数量

(130) WorksheetFunction.CountA(Cells) …返回工作表中非空单元格数量

(131) ActiveSheet.Range(“A20:D20”).Formula=“=Sum(R[-19]C:R[-1]C”?对A列至D列前19个数值求和

*******************************************************

图表

(132) ActiveWindow.Visible=False

或ActiveChart.Deselect …使图表处于非活动状态

(133) TypeName(Selection)=“Chart” …若选中的为图表,则该语句为真,否则为假

(134) ActiveSheet.ChartObjects.Delete …删除工作表上所有的ChartObject对象ActiveWorkbook.Charts.Delete …删除当前工作簿中所有的图表工作表

*******************************************************

窗体和控件

(135) UserForms.Add(MyForm).Show …添加用户窗体MyForm并显示

(136)TextName.SetFocus …设置文本框获取输入焦点

(137) SpinButton1.Value=0 …将数值调节钮控件的值改为0

(138) TextBox1.Text=SpinButton1.Value …将数值调节钮控件的值赋值给文本框控件

SpinButton1.value="/Val(TextBox1.Text)" …将文本框控件值赋给数值调节钮控件

CStr(SpinButton1.Value)=TextBox1.Text …数值调节钮控件和文本框控件相比较

(139) UserForm1.Controls.Count …显示窗体UserForm1上的控件数目

(140) ListBox1.AddItem “Command1” …在列表框中添加Command1

(141) ListBox1.ListIndex …返回列表框中条目的值,若为-1,则表明未选中任何列表框中的条目

(142) RefEdit1.Te xt …返回代表单元格区域地址的文本字符串

RefEdit1.Text=ActiveWindow.RangeSelection.Address …初始化RefEdit控件显示当前所选单元格区域

Set FirstCell=Range(RefEdit1.Text).Range(“A1”) …设置某单元格区域左上角单元格

(143) Application.OnTime Now + TimeValue("00:00:15"), "myProcedure" …等待15秒后运行myProcedure过程

(144) ActiveWindow.ScrollColumn=ScrollBarColumns.Value …将滚动条控件的值赋值给ActiveWindow对象的

ScrollColumn属性

ActiveWindow.ScrollRow=ScrollBarRows.Value …将滚动条控件的值赋值给ActiveWindow对象的ScrollRow属性

(145) UserForm1.ListBox1.AddItem Sheets(“Sheet1”).Cells(1,1) …将单元格A1中的数据添加到列表框中

ListBox1.List=Product …将一个名为Product数组的值添加到ListBox1中

ListBox1.RowSource=“Sheet2!SumP” …使用工作表Sheet2中的SumP区域的值填充列表框

(146) ListBox1.Selected(0) …选中列表框中的第一个条目(注:当列表框允许一次选中多个条目时,必须使用

Selected属性)

(147) ListBox1.RemoveItem ListBox1.ListIndex …移除列表框中选中的条目

对象

Application对象

(148) https://www.360docs.net/doc/1718491922.html,erName …返回应用程序的用户名

(149) Application.Caller …返回代表调用函数的单元格

(150) Application.Caller.Parent.Parent …返回调用函数的工作簿名称

(151) Application.StatusBar=“请等待……” …将文本写到状态栏

Application.StatusBar=“请等待……” & Percent & “% Completed” …更新状态栏文本,以变量Percent代表完

Application.StatusBar=False …将状态栏重新设置成正常状态

(152) Application.Goto Reference:=Range(“A1:D4”) …指定单元格区域A1至D4,等同于选择”编辑——定位”,

指定单元格区域为A1至D4,不会出现”定位”对话框

(153) Application.Dialogs(xlDialogFormulaGoto).Show …显示”定位”对话框,但定位条件按钮无效

(154) Applicatio n.Dialogs(xlDialogSelectSpecial).Show …显示”定位条件”对话框

(155) Application.Dialogs(xlDialogFormatNumber).show …显示”单元格格式”中的”数字”选项卡Application.Dialogs(xlDialogAlignment).show …显示”单元格格式”中的”对齐”选项卡Application.Dialogs(xlDialogFontProperties).show …显示”单元格格式”中的”字体”选项卡Application.Dialogs(xlDialogBorder).show …显示”单元格格式”中的”边框”选项卡Application.Dialogs(xlDialogPatterns).show …显示”单元格格式”中的”图案”选项卡Application.Dialogs(xlDialogCellProtection).show …显示”单元格格式”中的”保护”选项卡

注:无法一次显示带选项卡的”单元格格式”对话框,只能一次显示一个选项卡。

(156) Application.Dialogs(xlDialogFormulaGoto).show Range("b2"), True …显示”引用位置”的默认单元格区域并显示引用使其出现在窗口左上角(注:内置对话框参数的使用)

(157) https://www.360docs.net/doc/1718491922.html,mandBars(1).Controls(2).Controls(16).Execute …执行”定位”话框,相当于选择菜单”编辑——定位”命令

(158) Application.Transpose(Array(“Sun”,”Mon”,”Tur”,”Wed”,”Thu”,”Fri”,”Sat”)) …返回一个

(159) Application.Version …返回使用的Excel版本号

(160) Application.Cursor = xlNorthwestArrow …设置光标形状为北西向箭头Application.Cursor = xlIBeam …设置光标形状为Ⅰ字形

Application.Cursor = xlWait …设置光标形状为沙漏(等待)形

Application.Cursor = xlDefault …恢复光标的默认设置

(161) Appl ication.WindowState …返回窗口当前的状态

Application.WindowState = xlMinimized …窗口最小化

Application.WindowState = xlMaximized …窗口最大化

Application.WindowState = xlNormal …窗口正常状态

(162) https://www.360docs.net/doc/1718491922.html,ableHeight …获取当前窗口的高度

https://www.360docs.net/doc/1718491922.html,ableWidth …获取当前窗口的宽度

(163) Applic ation.ActiveCell.Address …返回活动单元格的地址(注:返回的是绝对地址) (164) Application.ActivePrinter …返回当前打印机的名称

(165) https://www.360docs.net/doc/1718491922.html, …返回活动工作表的名称

(166) Application.ActiveWindow.Caption …返回活动窗口的标题

(167) https://www.360docs.net/doc/1718491922.html, …返回活动工作簿的名称

(168) Application.Selection.Address …返回所选区域的地址

(169) https://www.360docs.net/doc/1718491922.html, …返回当前工作簿的名称

(170) Application.CalculationVersion …返回Excel计算引擎版本(右边四位数字)及Excel版本(左边两位数字)

(171) Application.MemoryFree …以字节为单位返回Excel允许使用的内存数(不包括已经使用的内存)

(172) Application.MemoryUsed …以字节为单位返回Excel当前使用的内存数

(173) Application.MemoryTotal …以字节为单位返回Excel可以使用的内存数(包括已使用的内存,是MemoryFree和MemoryUsed的总和)

(174) Application.OperatingSystem …返回所使用的操作系统的名称和版本

(175) https://www.360docs.net/doc/1718491922.html,anizationName …返回Excel产品登记使用的组织机构的名称

(176) Appli cation.FindFormat …查找的格式种类

Application.ReplaceFormat …替换查找到的内容的格式种类

ActiveSheet.Cells.Replace What:=“ “, _

Replacement:=“ “,SearchFormat:=True,ReplaceFormat:=True …替换查找到的格式

(177) Application.Interactive=False …忽略键盘或鼠标的输入

(178) Application.Evaluate("Rate") …若在工作表中定义了常量0.06的名称为”Rate”,则本语句将返回值0.06

(179) Application.OnUndo “Undo Option”,”Undo Procedure” …选择UndoOption后,将执行Undo Procedure过程

*******************************************************

Range对象

(180) Range(A1:A10).value="/Application.WorksheetFunction.Transpose(MyArray)" …将一个含有10个元素的数

组转置成垂直方向的工作表单元格区域(A1至A10)

注:因为当把一维数组的内容传递给某个单元格区域时,该单元格区域中的单元格必须是水平方向的,即含有多列的

一行。若必须使用垂直方向的单元格区域,则必须先将数组进行转置,成为垂直的。

(181) Range(“A65536”).End(xlUp).Row+1 …返回A列最后一行的下一行

(182) rng.Range(“A1”) …返回区域左上角的单元格

(183) cell.Parent.P arent.Worksheets …访问当前单元格所在的工作簿

(184) Selection.Font.Bold=Not Selection.Font.Bold …切换所选单元格是否加粗

(185) ActiveSheet.Range("A:B").Sort Key1:=Columns("B"), Key2:=Columns("A"), _

Header:=xlYes …两个关键字排序,相邻两列,B列为主关键字,A列为次关键字,升序排列

(186) cell.Range(“A1”).NumberFormat …显示单元格或单元格区域中的第一个单元格的数字格式

(187) cell.Range(“A1”).HasFormula …检查单元格或单元格区域中的第一个单元格是否含有公式

或cell.HasFormula …工作表中单元格是否含有公式

(188) Cell.EntireColumn …单元格所在的整列

Cell.EntireRow …单元格所在的整行

(189) https://www.360docs.net/doc/1718491922.html, …显示rng区域的名称

EXCEL使用VBA宏生成SQL语句

有时候需要将Excel文件中的数据导入到数据库中,常用的做法是使用程序读取Excel,然后存入数据库;这里换一个方法,用Excel生成SQL语句,然后用这些SQL语句来更新数据库。 本文主要说明Excel如何使用VB宏构造需要的SQL语句,并生成文件。 2、如何添加按钮: 依次打开:视图–工具栏–控件工具箱,选择“命令按钮”,自己画一个就行了; 依次打开:右键–属性,可以修改名称、样式等。 具体操作可以上网找找。 3、如何使用VB宏: 依次打开:工具–宏–安全性,看看你的Excel是否允许使用“宏”。 然后打开:工具–宏–Visual Basic编辑器,双击左侧的“Sheet1”,然后在右侧的代码区域粘贴如下代码: '最大行数 Const MAX_NUM_ROW=5000 '导出文件路径所在单元格 Const PATH_OUTPUT_ROW=3 Const PATH_OUTPUT_COL=3 '定义列常量 Const NAME_COL=1 Const GENDER_COL=2 Const PHONE_COL=3 Const EMAIL_COL=4 '读取数据开始行数 Const START_ROW=5 '定义数据实体类 Private Type Tmplt NAME As String GENDER As String PHONE As String EMAIL As String End Type '行数变量 Dim noOfTmplts As Integer '数据实体类数组 Dim TmpltArray(MAX_NUM_ROW)As Tmplt '点击按钮触发事件 Private Sub CommandButton1_Click() generateSQL End Sub '生成SQL Private Sub generateSQL() makedir initData writeToFile

Excel宏的用法详解

宏的用法详解 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用excel的宏语言来使excel自动化,使用word BASIC使word自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言V ASUAL 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. 简化模板的使用. 4. 自定义excel,使其成为开发平台. 5. 创建报表. 6. 对数据进行复杂的操作和分析. 用excel作为开发平台有如下原因: 1. excel本身功能强大,包括打印,文件处理,格式化和文本编辑. 2. excel内置大量函数. 3. excel界面熟悉. 4. 可连接到多种数据库. 用其他语言开发应用程序,一半的工作是编写一些基本功能的模块,包括文件的打开和保

excel的宏教程免费下载

Microsoft excel是一款功能非常强大的电子表格软件。它可以轻松地完成数据的各类数学运算,并用各种二维或三维图形形象地表示出来,从而大大简化了数据的处理工作。但若仅利用excel的常用功能来处理较复杂的数据,可能仍需进行大量的人工操作。但excel的强大远远超过人们的想象--宏的引入使其具有了无限的扩展性,因而可以很好地解决复杂数据的处理问题。 随着支持Windows的应用程序的不断增多和功能的不断增强,越来越多的程序增加了宏处理来方便用户的自由扩展。但初期各应用程序所采用的宏语言并不统一,这样用户每使用一种应用程序时都得重新学习一种宏语言。为了统一各种应用程序下的宏,Microsoft推出了VBA(Visual Basic for Applications)语言。 VBA是从流行的Visual Basic编程语言中派生出来的一种面向应用程序的语言,它适用于各种Windows应用程序,可以解决各应用程序的宏语言不统一的问题。除此之外,使用 VBA语言还有如下优点:1、VBA是一种通用程序语言,通过它不仅可以共享Microsoft相关的各种软件(如excel、 word、access)……,而且随着其它的一些软件(如大名鼎鼎的AutoCAD2000)等对VBA的支持,这些软件也已进入到了VBA的控制范围;2、可以将用VBA编写的程序复制到Visual Basic中调试并运行,从而实现用Visual Basic来控制有关的应用程序;3、VBA 提供的大量内部函数大大简化了用户的操作。 对于而今的宏,不仅语言统一规范,而且其功能也已非常强大。但在大多数介绍excel的"傻瓜书"、"指南"、"入门与提高"等参考书中往往略过不提,或浅浅带

excel宏教程.doc

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宏功能简单应用介绍

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宏的使用教程

Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件,其中包括Excel、PPT、Word、Outlook等。 使用Excel的VBA开发的Excel文档,在Excel中运行时需要开启Excel 的宏功能,否则此文档的VBA自动化功能将被完全屏蔽,文档的功能无法实现。 因此,在打开这些Excel程序文件之前,您需要先对您的Excel宏安全性进行设置(设置永久有效,在同一台电脑上无需再次设置) 在Excel2003版本中,可以依以下步骤操作: 1,在Excel的菜单栏上依次单击“工具”——“宏”——“安全性”,打开下图所示的“安全性”对话框, 2,在“安全级”选项卡中将宏的安全级别设置为“中”或“低”。其中推荐使用“中”级,这样的设置并不会降低您的安全性,您仍然对任意一个宏文件都拥有主动选择是否运行的权力。 在宏的安全性级别设置成功后,再次打开Excel程序文件时,会出现下图所示信息框,此时点击“启用宏”按钮即可使本程序正常运行: 在Excel2007/2010版本中,可以依以下步骤操作: 1,依次单击Excel的Office按钮(2010版本为“文件”按钮)——“Excel 选项”,打开下图所示的“Excel选项”选项卡,在左侧列表中选择“信任中心”,在右侧出现的窗口中点击“信任中心设置”按钮, 2,打开“信任中心”选项卡,在左侧选择“宏设置”,在右侧出现的窗口中选择“禁用所有宏,并发出通知”选项,单击确定完成。 在宏的安全性级别设置成功后,再次打开Excel程序文件时,在信息栏(编辑栏上方)会出现下图所示的警告信息,此时点击其中的“选项”按钮打开Offi ce安全选项对话框,在其中选择“启用此内容”选项并确定即可使本程序正常运行。

【免费下载】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常见宏命令

清除剪贴板 Sub清除剪贴板() Application.CutCopyMode=False https://www.360docs.net/doc/1718491922.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.360docs.net/doc/1718491922.html, End Sub

另存指定文件名 Sub另存指定文件名() ActiveWorkbook.SaveAs ThisWorkbook.Path&"\别名.xls" End Sub 以本工作表名称另存文件到当前目录 Sub以本工作表名称另存文件到当前目录() ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path&"\" &https://www.360docs.net/doc/1718491922.html,&".xls" End Sub 将本工作表单独另存文件到Excel当前默认目录 Sub将本工作表单独另存文件到Excel当前默认目录() ActiveSheet.Copy ActiveWorkbook.SaveAs Filename:=https://www.360docs.net/doc/1718491922.html,& ".xls" End Sub 以活动工作表名称另存文件到Excel当前默认目录 Sub以活动工作表名称另存文件到Excel当前默认目录() ActiveWorkbook.SaveAs Filename:=https://www.360docs.net/doc/1718491922.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

excel常用宏资料

1.拆分单元格赋值 Sub 拆分填充() Dim x As Range For Each x In https://www.360docs.net/doc/1718491922.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 常用宏大全(一) 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.360docs.net/doc/1718491922.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

257个Excel宏常用语句

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

excel常用宏集合

65:删除包含固定文本单元的行或列 Sub 删除包含固定文本单元的行或列() Do (what:="哈哈").Activate '删除行 ' '删除列 Loop Until (what:="哈哈") Is Nothing End Sub 72:在指定颜色区域选择单元时添加/取消"√"(工作表代码) Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myrg As Range For Each myrg In Target If = 37 Then myrg = IIf(myrg <> "√", "√", "") Next End Sub 73:在指定区域选择单元时添加/取消"√"(工作表代码) Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Rng As Range If <= 15 Then If Not (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:双击指定单元,循环录入文本(工作表代码)

Private Sub Worksheet_BeforeDoubleClick(ByVal T As Range, Cancel As Boolean) If <> "$A$1" Then Exit Sub Cancel = True T = IIf(T = "好", "中", IIf(T = "中", "差", "好")) End Sub 75:双击指定单元,循环录入文本(工作表代码) Dim nums As Byte Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If = "$A$1" Then nums = nums Mod 3 + 1 Target = Mid("上中下", nums, 1) (1, 0).Select End If End Sub 76:单元区域引用(工作表代码) Private Sub Worksheet_Activate() ("A1:B3").Value = ("A1:B3").Value End Sub 77:在指定区域选择单元时数值加1(工作表代码) Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not ([a1:e10], Target) Is Nothing Then Target = Val(Target) + 1 End If End Sub 259个常用宏-excelhome(3) 2009-08-15 14:12:58 78:混合文本的编号 Sub 混合文本的编号() Worksheets(1).Range("B2").Value = "北京" & (--(Mid(Worksheets(1).Range("B2"), 3,

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编程知识就可以了,并不一定需要很高深的编程技巧,很多时候我们需要的只是一些重复的操作,我们可以通过宏的录制功能来录制一次需要的操作过程,然后再对已经录制的宏进行简单的修改,就能得到所需要的宏了。

EXCEL一般常用宏.

代码目录链接类别 登录打开全部隐藏工作表点击工作表 循环宏点击宏管理 录制宏时调用“停止录制”工具栏点击其他 高级筛选5列不重复数据至指定表点击筛选 在多个宏中依次循环执行一个(控件按钮代码点击宏管理在两个宏中依次循环执行一个并相应修改按钮名称 点击宏管理 (控件按钮代码 在三个宏中依次循环执行一个并相应修改按钮名称 点击宏管理 (控件按钮代码 根据A1单元文本隐藏/显示按钮(控件按钮代码点击控件当前单元返回按钮名称(控件按钮代码点击控件 当前单元内容返回到按钮名称(控件按钮代码点击控件奇偶页分别打印点击打印 自动打印多工作表第一页点击打印 查找A列文本循环插入分页符点击打印 将A列最后数据行以上的所有B列图片大小调整为所在

点击对象 单元大小 返回光标所在行数点击查找和引用 返回光标选择区域的行数和列数点击查找和引用工作表中包含数据的最大行数点击查找和引用返回A列数据的最大行数点击查找和引用 将所选区域文本插入新建文本框点击对象 批量插入地址批注点击批注 批量插入统一批注点击批注 以A1单元内容批量插入批注点击批注 以A1单元文本作表名插入工作表点击单元赋值批量插入当前文件名和表名及地址点击单元赋值区域录入当前单元地址点击单元赋值 区域录入当前日期点击单元赋值 区域录入当前数字日期点击单元赋值 区域录入当前日期和时间点击单元赋值 不连续区域录入对勾点击单元赋值 不连续区域录入当前文件名点击单元赋值 不连续区域添加文本点击单元赋值

不连续区域插入文本点击单元赋值 从指定位置向下同时录入多单元指定内容点击单元赋值 按aa工作表A列的内容排列工作表标签顺序点击工作表 删除全部未选定工作表点击工作表 工作表标签排序点击工作表 在目录表建立本工作簿中各表链接目录点击文件管理 建立工作表文本目录点击工作表 查另一文件的全部表名点击工作表 当前单元录入计算机名点击单元赋值 当前单元录入计算机用户名点击单元赋值 解除全部工作表保护点击工作表为指定工作表加指定密码保护表点击密码 在有密码的工作表执行代码点击密码 执行前需要验证密码的宏(控件按钮代码点击密码 拷贝A1公式和格式到A2点击单元赋值复制单元数值点击单元赋值插入数值条件格式点击格式 插入透明批注点击批注 添加文本点击单元赋值光标定位到指定工作表A列最后数据行下一单元点击定位 定位选定单元格式相同的全部单元格点击定位

中文EXCEL70宏的使用方法技巧详解

中文EXCEL 7.0宏的使用方法、技巧详解 Excel的宏是由一系列的Visual Basic语言代码构成的,因此,如果你熟悉VisualBasic语言,可以用它编写为宏,如果用户不熟悉VB语言,可以用记录功能建立宏。下面详细介绍一下有关的方法和技巧。一、建立宏 要想建立一个宏,方法有两种:一是用宏记录器记录所要执行的一系列操作;二是用Visual Basic语言编写。这两种方法各有优越之处,自动记录宏可以使用户在不懂Visual Basic语言的情况下也可建立自己的宏,但缺点是对于一些复杂的宏要记录的操作很多,而且可能有些功能并非是能通过现有的操作所能完成的;自己动手编写宏则不必进行繁琐的操作而且能实现自动记录所不能完成的一些功能。在这里需要说明的一点是,即使自动记录的宏,记录器也是把它翻译成Visual Basic语言来存放的,因此,在这里的一点技巧是你可以使用自动记录功能记录宏,记录完毕后再打开宏进行编辑、修改简化或增强宏的功能,这样可省去许多输入代码的工作。建立宏的方法如下: 1.在"工具"菜单中,选择"记录宏",再单击右侧的"记录新宏"命令。 2.在对话框中输入宏名。可以使用省略宏名如"宏2",也可以在"宏名"框中键入另一名称。 3.若要给出宏的简单说明,在"说明"框中可键入描述性文字。 4.若要设置有关宏的选项,单击"选项"。 5.单击"确定",然后执行所记录的操作。 6.操作完成之后,在"工具"菜单中, 选择"记录宏",右侧的"记录新宏"命令已变成了"停止记录",单击即可结束。"记录宏"命令下的其它三个选项的说明:

"使用相对引用"——此项为一开关选项,此开关不打开时,记录宏使用单元格绝对引用,用这种方式记录的宏总是在最初记录宏的单元格位置操作。此开关打开之后,用户在任何情况下都可以使用宏而不是在特定的单元或范围中才能使用,当然存储此宏的工作簿必须在打开的情况下宏才能使用,使用相对引用可使记录的宏使用更灵活。 "标示记录位置"和"在标示处记录"——指的是确定开始记录宏的位置,从此处开始记录宏的代码。注意:此两选项只对"模块"工作表(记录操作后翻译为VB代码的工作表Module)有效。 "记录新宏"对话框的选项说明: "工具"菜单下的菜单项——可以将宏加入到"工具"菜单下,作为一个菜单选项,以供方便使用。 快捷键——通过指定快捷键执行宏。需注意的一点是:当包含宏的工作薄打开时,此宏的快捷键优先Microsoft Excel快捷键执行, 因此,如果你为宏设置的快捷键和Excel的快捷键相同的话,那么Excel的快捷键将不能发挥作用,要尽量避免快捷键相同。 保存到"个人工作簿"——"个人工作簿"是一个隐蔽的工作簿,一般情况下启动Excel时会自动打开它,因此,如果将常用的宏保存在其中, 可以在任何工作簿中使用,建议将非专用的宏都放在此簿中,使用方便,管理也方便。 保存到"当前工作簿"——将宏存储到当前工作簿中,只有当记录该宏的工作簿打开时,本工作簿和其它的工作簿才能使用它,一般的工作簿专用宏用此选项。 保存到"新工作簿"——将宏保存到新的工作簿中,该项意义不大,一般很少用。语言选项——Visual Basic,将记录的操作翻译为Visual Basic语言,这是常用的选项。MS Excel 4.0 宏语言,将操作翻译为Excel 4.0的宏语言,如果你对4.0版的宏语言不熟悉,尽量不要采用此选项,否则给以后的编辑、修改带来麻烦。

相关主题
相关文档
最新文档