《Excel-VBA常用代码.pdf》由会员分享,可在线阅读,更多相关《Excel-VBA常用代码.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、VBA 基础在大家的关注声中即将告一段落了,有许多经典的VBA 操作我们只是作了简要的介绍,想要熟练地使用VBA 还需要大家慢慢地去消化和吸收,然后在实践中总结和提高。最后我们收集了常见的VBA 代码以飨广大的读者,希望对大家有所启示。Application(Excel 程序)篇Application.EnableEvents=True/False?启用/禁用所有事件Application.DisplayAlerts=True/False?显示/关闭警告框提示框Application.ScreenUpdating=True/False?显示/关闭屏幕刷新Application.StatusBa
2、r=软件报专用?在地址栏中显示文本,标题栏用Caption属性Application.Cursor=xlIBeam ,设置光标形状为字形,xlWait为沙漏(等待)形,xlNormal为正常Application.WindowState=xlMinimized,窗 口 最 小 化,xlMaximized最 大 化,xlNormal为正常Application.ActivateMicrosoftApp xlMicrosoftWord?开启 Word应用程序Application.TemplatesPath,获取工作簿模板的位置Application.CalculateFull?重新计算所有打开的
3、工作簿中的数据Application.RecentFiles.Maximum=2?将最近使用的文档列表数设为2 Application.RecentFiles(3).Open?打开最近打开的文档中的第3 个文档Application.AutoCorrect.AddReplacement sweek,软 件 报?自 动 将 输 入 的sweek更正为 软件报 Application.Dialogs(xlDialogPrint).Show,显示打印文档的对话框Application.OnTime Now+TimeValue(00:00:45),process?45 分钟后执行指定过程Applica
4、tion.OnTime TimeValue(14:00:00),process?下午 2 点执行指定过程Application.OnTime EarliestTime:=TimeValue(14:00:00),_ Procedure:=process,Schedule:=False?取消指定时间的过程的执行工作簿/工作表篇ActiveWorkbook.Sheets.Count?获取活动工作薄中工作表数ActiveWorkbook.LinkSources(xlExcelLinks)(1),返回当前工作簿中的第一条链接ThisWorkbook.Worksheets(“sheet2”).Visibl
5、e=xlSheetHidden,隐藏工作表,与在Excel菜单中执行“格式 工作表 隐藏”操作一样ThisWorkbook.Worksheets(“sheet2”).Visible=xlSheetVeryHidden,隐藏工作表,不能通过在 Excel菜单中执行“格式 工作表 取消隐藏”来重新显示工作表ThisWorkbook.Worksheets(“sheet2”).Visible=xlSheetVisible,显示被隐藏的工作表ThisWorkbook.Sheets(1).ProtectContents,检查工作表是否受到保护ActiveSheet.Columns(B).Cut Activ
6、eSheet.Columns(F).Insert,以上两句将B 列数据移至F 列,原 C 列后的数据左移ActiveSheet.Range(“A:A”).EntireColumn.AutoFit,自动调整当前工作表A 列的列宽ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues),选中当前工作表中常量和文本单元格ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues),选中当前工作表中常量和文本及错误值单元格ActiveSheet.
7、UsedRange.Rows.Count,当前工作表中已使用的行数ThisWorkbook.Worksheets.Add ThisWorkbook.Worksheets(3),2 ,在第3 张工作表之前添加2 个新的工作表ActiveSheet.Move After:=ActiveWorkbook._ Sheets(ActiveWorkbook.Sheets.Count)?将当前工作表移至工作表的最后Worksheets(Array(“sheet1”,”sheet2”).Select?同时选择工作表sheet1和 sheet2 ActiveSheet.UsedRange.FormatCondi
8、tions.Delete,删除当前工作表中应用的条件格式Cells.Hyperlinks.Delete,取消当前工作表中所有单元格的超链接ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName,在页脚显示文件的路径ActiveSheet.PrintPreview Enablechanges:=False,禁用显示在Excel的“打印预览”窗口中的“设置”和“页边距”按钮单元格/单元格区域篇ActiveSheet.UsedRange.Row,获取已使用的单元格区域的第一行的行号Range(“A65536”).End(xlUp).Row,
9、返回 A 列最后一行(即记录的总条数)ce ll.Range(“A1”).HasFormula,检查单元格或单元格区域中的第一个单元格是否含有公式或 cell.HasFormula,工作表中单元格是否含有公式Target.EntireColumn.Select,选择单元格所在的整个列,Target.EntireRow.Select为选择单元格所在的整行ActiveCell.Row,活动单元格所在的行号,ActiveCell.Column为活动单元格所在的列数ActiveWindow.ScrollRow=2?将当前工作表窗口滚动到第2 行ActiveWindow.ScrollColumn=5?将
10、当前工作表窗口滚动到第5 列Worksheets(sheet1).Range(A1:C5).CopyPicture xlScreen,xlBitmap?将指定的单元格区域的内容复制成屏幕快照Selection.Hyperlinks.Delete,删除所选区域的所有链接ActiveSheet.Cells(1,1).Font.Bold=TRUE,Bold属 性 用 于 设 置 字 体 是 否 为 加粗,Size 属性设置字体大小,ColorIndex属性设置字体颜色(其值为颜色索引号),Italic属性设置字型是否为倾斜,Name属性设置字体名称ActiveSheet.Cells(1,1).Int
11、erior.ColorIndex=3,将单元格的背景色设置为红色IsEmpty(ActiveCell.Value)?判断活动单元格中是否有值ActiveCell.Value=UCase(ActiveCell.Value)?将当前单元格中的字符转换成大写ActiveCell.Value=StrConv(ActiveCell.Value,vbLowerCase)?将活动单元格中的字符串转换成小写ActiveCell.CurrentRegion.Select?选择当前活动单元格所在的连续的非空区域,也可以用 Range(ActiveCell,UsedRange.End(xlDown).Select
12、ActiveCell.Offset(1,0).Select?活动单元格下移一行Range(“B2”).Offset(ColumnOffset:=1)或 Range(“B2”).Offset(,1),读取指定单元格右侧单元格中的数据Range(“B2”).Offset(Rowoffset:=-1)或 Range(“B2”).Offset(-1),读取指定单元格上一行单元格中的数据Range(“A1”).Copy Range(“B1”)?复制单元格A1 中的内容到B1 中Range(“A1:D8”).Copy Range(“H1”)?将指定单元格区域复制到从H1 开始的区域中,用 Cut 方法可以
13、实现剪切操作ActiveWindow.RangeSelection.Value=软件报?将指定字符串输入到所选单元格区域中窗体(控件)篇Option Explicit?强制对模块内所有变量进行声明Userform1.Show,显示用户窗体Load Userform1,加载一个用户窗体,但该窗体处于隐藏状态Userform1.Hide,隐藏用户窗体Unload Userform1 或 Unload Me,卸载用户窗体Me.Height=Int(0.5*ActiveWindow.Height),窗体高度为当前活动窗口高度的一半,宽度用 ActiveWindow.Width属性UserForm1.C
14、omboBox1.AddItem Sheets(Sheet1).Cells(1,1),将指定单元格中的数据添加到复合框中ListBox1.List=MyProduct(),将数组 MyProduct的值添加到列表框ListBox1中ListBox1.RowSource=”Sheet1!isum”,将工作表 Sheet1中名为的 isum 区域的值添加到列表框中ListBox1.Selected(0),选中列表框中的指定的条目ListBox1.RemoveItem ListBox1.ListIndex,移除列表框中选中的条目If MsgBox(“要退出吗?”,vbYesNo)vbYes Then
15、 Exit Sub?返回值不为“是”,则退出Config=vbYesNo+vbQuestion+vbDefaultButton2?使用常量的组合,赋值组Config变量,并设置第二个按钮为缺省按钮MsgBox“This is the first line.”&vbNewLine&“Second line.”?在消息框中强制换行,也可用vbCrLf代替 vbNewLine。MsgBox 平均值为:&Format(Application.WorksheetFunction.Average(Selection),#,#0.00),vbInformation,显示选区平均值?应用工作表函数返回所选区域
16、的平均值并按指定显示的格式公式与函数Application.WorksheetFunction.IsNumber(“A1”)?检查指定单元格中的数据是否为数字Range(“A:A”).Find(Application.WorksheetFunction.Max(Range(“A:A”).Activate?激活单元格区域A 列中最大值的单元格Application.MacroOptions Macro:=”GetSum”,Category:=4,将自定义的GetSum函数指定给Excel中的“统计函数”类别Application.MacroOptions Macro:=”GetSum”,_ De
17、scription:=”先求和,然后再输出。”,为自定义函数GetSum进行功能说明Application.WorksheetFunction.CountA(Cell.EntireColumn),返回该单元格所在列非空单元格的数量,所在行使用EntireRow属性Application.WorksheetFunction.CountA(Cells),返回当前工作表中非空单元格数量图表篇ActiveSheet.ChartObjects.Delete,删除工作表中所有的ChartObject对象ActiveWorkbook.Charts.Delete,删除当 前 工作簿中所 有 的图表工作表 ActiveSheet.ChartObjects.Count?获取当前工作表中图表的个数Worksheets(Sheet1).ChartObjects(1).Chart._ Export Filename:=C:MyChart.gif,FilterName:=GIF,将指定工作表中的图表1导出到 C 盘上并命名为MyChart.gif 以上代码均经过我们的测试,大家可放心地使用并在此基础上加以归纳和提炼。如果你也有VBA 使用的心得不妨写下来和大家一起来分享。
限制150内