视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Excle常用VBA代码
2025-09-28 22:37:54 责编:小OO
文档
Excle常用VBA代码

Application(Excel程序)

Application.EnableEvents= True/ False ’启用/禁用所有事件

Application.DisplayAlerts=True/False ’显示/关闭警告框提示框

Application.ScreenUpdating= True/False ’显示/关闭屏幕刷新

Application.StatusBar = "软件报专用"  ’在地址栏中显示文本,标题栏用Caption属性

Application.Cursor = xlIBeam  ‘设置光标形状为Ⅰ字形,xlWait为沙漏(等待)形,xlNormal为正常

Application.WindowState = xlMinimized ‘窗口最小化,xlMaximized最大化,xlNormal为正常

Application.ActivateMicrosoftApp xlMicrosoftWord ’开启Word应用程序

Application.TemplatesPath ‘获取工作簿模板的位置

Application.CalculateFull ’重新计算所有打开的工作簿中的数据

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分钟后执行指定过程

Application.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”).Visible=xlSheetHidden ‘隐藏工作表,与在Excel菜单中执行“格式—工作表—隐藏”操作一样

ThisWorkbook.Worksheets(“sheet2”).Visible=xlSheetVeryHidden ‘隐藏工作表,不能通过在Excel菜单中执行“格式—工作表—取消隐藏”来重新显示工作表

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

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

ActiveSheet.Columns("B").Cut

ActiveSheet.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.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.FormatConditions.Delete ‘删除当前工作表中应用的条件格式

Cells.Hyperlinks.Delete ‘取消当前工作表中所有单元格的超链接

ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页脚显示文件的路径

ActiveSheet.PrintPreview Enablechanges:=False ‘禁用显示在Excel的“打印预览”窗口中的“设置”和“页边距”按钮

单元格/单元格区域

ActiveSheet.UsedRange.Row ‘获取已使用的单元格区域的第一行的行号

Range(“A65536”).End(xlUp).Row ‘返回A列最后一行(即记录的总条数)

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

Target.EntireColumn.Select ‘选择单元格所在的整个列,Target.EntireRow.Select为选择单元格所在的整行

ActiveCell.Row ‘活动单元格所在的行号

ActiveCell.Column为活动单元格所在的列数

ActiveWindow.ScrollRow = 2 ’将当前工作表窗口滚动到第2行

ActiveWindow.ScrollColumn = 5 ’将当前工作表窗口滚动到第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).Interior.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

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方法可以实现剪切操作

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.ComboBox1.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 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, "显示选区平均值" ’应用工作表函数返回所选区域的平均值并按指定显示的格式

公式与函数

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”, _

Description:=”先求和,然后再输出。” ‘为自定义函数GetSum进行功能说明

Application.WorksheetFunction.CountA(Cell.EntireColumn) ‘返回该单元格所在列非空单元格的数量,所在行使用EntireRow属性

Application.WorksheetFunction.CountA(Cells) ‘返回当前工作表中非空单元格数量

图表

ActiveSheet.ChartObjects.Delete ‘删除工作表中所有的ChartObject对象

ActiveWorkbook.Charts.Delete ‘删除当前工作簿中所有的图表工作表 ActiveSheet.ChartObjects.Count ’获取当前工作表中图表的个数

将指定工作表中的图表1导出到C盘上并命名为下载本文

显示全文
专题