Excel VBA常用代码VSTO版20150425
EXCEL-VBA-实用代码收集

四、Word vba常用语句100句1、系统参数(01) Application.ActivePrinter ‘获取当前打印机(02) Application.Height '当前应用程序文档的高度(03) Application.Width ‘当前应用程序文档的宽度(04) Application.Build ‘获取Word版本号和编译序号(05) Application.Caption ‘当前应用程序名(06) Application.DefaultSaveFormat '返回空字符串,表示Word文档(07) Application.DisplayRecentFiles '返回是否显示最近使用的文档的状态(08) Application.Documents.Count '返回当前打开的文档数(09) Application.FontNames.Count ‘返回当前可用的字体数(10) Application.Left ‘返回当前文档的水平位置(11) Application.MacroContainer.FullName '返回当前文档名,包括所在路径Application.MacroContainer.pach '返回当前文档路径Application.ActiveDocument.Path ‘获得文件的相对路径(12) Application.NormalTemplate.FullName '返回文档标准模板名称及所在位置(13) Application.RecentFiles.Count '返回最近打开的文档数目(14) Application.System.CountryRegion '返回应用程序所在的地区代码(15) Application.System.FreeDiskSpace ‘返回应用程序所在磁盘可用空间(16) Application.System.HorizontalResolution '返回显示器的水平分辨率(17) Application.System.VerticalResolution '返回显示器的垂直分辨率(18) nguageDesignation '返回系统所使用的语言(19) Application.System.MathCoprocessorInstalled ‘返回系统是否安装了数学协处理器(20) Application.System.OperatingSystem ‘返回当前操作系统名(21) Application.System.ProcessorType '返回计算机处理器名(22) Application.System.Version ‘返回操作系统的版本号(23) Application.Templates.Count '返回应用程序所使用的模板数(24) erName '返回应用程序用户名(25) Application.Version ‘返回应用程序的版本号2、Documents/Document对象(26) ActiveDocument.AttachedTemplate.FullName '返回当前文档采用的模板名及模板所在位置(27) ActiveDocument.Bookmarks.Count '返回当前文档中的书签数(28) ActiveDocument.Characters.Count '返回当前文档的字符数(29) ActiveDocument.CodeName ‘返回当前文档的代码名称(30) ments.Count ‘返回当前文档中的评论数(31) ActiveDocument.Endnotes.Count '返回当前文档中的尾注数(32) ActiveDocument.Fields.Count '返回当前文档中的域数目(33) ActiveDocument.Footnotes.Count ‘返回当前文档中的脚注数(34) ActiveDocument.FullName '返回当前文档的全名及所在位置(35) ActiveDocument.HasPassword '当前文档是否有密码保护(36) ActiveDocument.Hyperlinks.Count '返回当前文档中的链接数(37) ActiveDocument.Indexes.Count '返回当前文档中的索引数(38) ActiveDocument.ListParagraphs.Count '返回当前文档中项目编号或项目符号数(39) ActiveDocument.ListTemplates.Count '返回当前文档中使用的列表模板数(40) ActiveDocument.Paragraphs.Count '返回当前文档中的段落数(41) ActiveDocument.Password=XXX '设置打开文件使用的密码(42) ActiveDocument.ReadOnly '获取当前文档是否为只读属性(43) ActiveDocument.Saved '当前文档是否被保存(44) ActiveDocument.Sections.Count '当前文档中的节数(45) ActiveDocument.Sentences.Count ‘当前文档中的语句数(46) ActiveDocument.Shapes.Count '当前文档中的形状数,图形?(47) ActiveDocument.Styles.Count '当前文档中的样式数(48) ActiveDocument.Tables.Count ‘当前文档中的表格数(49) ActiveDocument.TablesOfAuthorities.Count ‘返回当前文档中的引文目录数(50) ActiveDocument.TablesOfAuthoritiesCategories.Count ‘返回当前文档中引文目录类别数(51) ActiveDocument.Tabl esOfContents.Count ‘返回当前文档中的目录数(52) ActiveDocument.TablesOfFigures.Count '返回当前文档中的图表目录数3、Paragraphs/Paragraph对象(53) Selection.Paragraphs.Count '返回所选区域的段落数(54) Selection.Paragraphs.First '返回所选区域中的第一段(55) ActiveDocument.Paragraphs(1).LeftIndent '返回当前文档中第一段的左缩进值(56) ActiveDocument.Paragraphs(1).LineSpacing '返回当前文档中第一段的行距(57) ActiveDocument.Paragraphs(1).OutlineLevel ‘返回或设置当前文档中第一段的大纲级别.OutlineLevel = wdOutlineLevel2 ‘2级.OutlineLevel = wdOutlineLevel3 ‘3级(58) ActiveDocu ment.Paragraphs(1).RightIndent ‘返回当前文档中第一段的右缩进量(59) ActiveDocument.Paragraphs(1).SpaceBefore '返回当前文档中第一段的段前间距(60) ActiveDocument.Paragraphs(1).SpaceAfter ‘返回当前文档中第一段的段后间距(61) ActiveDocument.Paragraphs(1).Range.Text '返回当前文档中第一段的内容(62) ActiveDocument.Paragraphs(1)Local '返回当前文档中第一段应用的样式名(63) ActiveDocument.Paragraphs(1).Range.Style.Description '返回当前文档中第一段所应用样式的详细描述(64) ActiveDocument.Paragraphs(1) '返回当前文档中第一段所应用样式的字体名(65) ActiveDocument.Paragraphs(1)FarEast '返回或设置一种东亚字体名(66) ActiveDocument.Paragraphs(1).Range.Style.Font.Size '返回或设置当前文档中第一段所应用样式的字体大小(67) ActiveDocument.Paragraphs(1).Range.Style.Font.Spacing '返回或设置字符间距(68) Selection.Words.Count '所选区域的字数Sentences对象(69) Selection.Sentences.Item(1) '所选区域中的第一句的内容Words对象(71) ActiveDocument.Words(1).Select '选择当前文档中的第一个词(72) ActiveDocument.Range.Words(1).InsertAfter "我爱你!" '在当前文档中的第一个词后插入“我爱你”4、Characters对象(73) Selection.Characters.Count '当前文档中所选区域的字符数(74) ActiveDocument.Paragraphs(1).Range.InsertParagraphAfter'在当前文档的第一段之后插入一个新段落5、Sections/Section对象(75) ActiveDocument.Sections.First '当前文档的第一节(76) ActiveDocument.Sections.First.PageSetup.BottomMargin '当前文档第一节所在页的底边距(77) ActiveDocument.Sections.First.PageSetup.LeftMargin '当前文档第一节所在页的左边距(78) ActiveDocument.Sections.First.PageSetup.RightMargin '当前文档第一节所在页的右边距(79) ActiveDocument.Sections.First.PageSetup.TopMargin '当前文档第一节所在页的顶边距(80) ActiveDocument.Sections.First.PageSetup.PaperSize '返回或设置当前文档第一节所在页的大小(81) ActiveDocument.Sections.First.PageSetup.PageHeight '返回或设置当前文档第一节所在页的高度(82) ActiveDocument.Sections.First.PageSetup.PageWidth '返回或设置当前文档第一节所在页的宽度(83) ActiveDocument.Sections.Add Range:=myRange '在当前文档中添加新节(84) ActiveDocument.Sections.Item(2) '当前文档中的第二节(85) st.Range.InsertAfter "文档结束!" '在当前文档中最后一节的结尾添加文字“文档结束!”6、Range对象(86) ActiveDocument.Range(Start:=0, End:=10) '表示当前文档前10个字符所组成的一个Range对象(87) Set myRange = ActiveDocument.Range(Start:=ActiveDocument.Paragraphs(2).Range.Start, _End:=ActiveDocument.Paragraphs(4).Range.End) '将当前文档第2段至第4段设置为一个Range对象(88) ActiveDocument.Paragraphs(1).Range.Copy '复制当前文档中的第一段(89) Selection.CopyDocuments.Add.Content.Paste '复制所选内容到新文档中(90) ActiveDocument.Bookmarks("Book1").Copy Name:="Book2" '将Book2书签复制Book1书签标记的位置(91) Selection.GoTo What:=wdGoToLine, Which:=wdGoToAbsolute, Count:=4 '将所选内容移至文档中的第4行(92) Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext '将所选内容移至下一个表格的第1个单元格(93) Selection.Range.AutoFormat '为所选内容套用格式(94) = "Arial" '将当前文档的字体设置为斜体(95) ActiveDocument.Content.Select Selection.Delete '将当前文档中的内容删除其它(96) Documents.Add '添加一个新文档(97) Set myTable = ActiveDocument.Tables.Add(Selection.Range, 2, 2) '在当前文档所选区域添加一个2行2列的表格7、文件读写(98) Open "C:\my.txt" For Input As #1 '打开一个用于输入的文件并令其编号为1(99) Line Input #1, TextLine '读取被打开用于输入且编号为1的文件(100) Close #1 '关闭编号为1的文件一、新建Word引用需要首先创建一个对Word Application 对象的引用。
vba 常用宏代码

在VBA中,你可以使用宏来自动执行一系列的操作。
以下是一些常用的VBA宏代码示例:1.打开一个工作簿:vba复制代码Sub OpenWorkbook()Workbooks.Open "C:\path\to\your\workbook.xlsx"End Sub2.关闭一个工作簿:vba复制代码Sub CloseWorkbook()ThisWorkbook.Close SaveChanges:=TrueEnd Sub3.复制一个单元格的内容:vba复制代码Sub CopyCell()Range("A1").Copy Range("B1")End Sub4.粘贴一个单元格的内容:vba复制代码Sub PasteCell()Range("B1").PasteSpecial Paste:=xlPasteValuesEnd Sub5.查找并替换单元格中的内容:vba复制代码Sub FindAndReplace()Range("A1").Replace What:="old", Replacement:="new"End Sub6.自动填充数据:vba复制代码Sub AutoFill()Range("A1:A10").FillDownEnd Sub7.插入新的列或行:vba复制代码Sub InsertColumn()Columns("B:B").Insert Shift:=xlToRight,CopyOrigin:=xlFormatFromLeftOrAboveEnd Sub8.删除列或行:vba复制代码Sub DeleteColumn()Columns("B:B").Delete Shift:=xlToLeft,CopyOrigin:=xlFormatFromLeftOrAboveEnd Sub。
EXCELVBA常用代码实战大全共393页word资料

VBA常用技巧代码解析 yuanzhuping1VBAVBAVBAVBA常用常用常用常用技巧技巧技巧技巧目录目录目录目录VBAVBAVBAVBA常用技巧常用技巧常用技巧常用技巧 ------------------------------------------------------------------------------------------------------- 1第1章 Range(单元格)对象 -------------------------------------------------------------------- 10技巧1 单元格的引用方法 ---------------------------------------------------------------------- 101-1 使用Range属性 ----------------------------------------------------------------------- 101-2 使用Cells属性 ------------------------------------------------------------------------ 111-3 使用快捷记号 -------------------------------------------------------------------------- 111-4 使用Offset属性 ----------------------------------------------------------------------- 121-5 使用Resize属性 ----------------------------------------------------------------------- 131-6 使用Union方法 ----------------------------------------------------------------------- 141-7 使用UsedRange属性 ---------------------------------------------------------------- 141-8 使用CurrentRegion属性 ------------------------------------------------------------ 15技巧2 选定单元格区域的方法---------------------------------------------------------------- 152-1 使用Select方法 ----------------------------------------------------------------------- 152-2 使用Activate方法 -------------------------------------------------------------------- 162-3 使用Goto方法 ------------------------------------------------------------------------- 17技巧3 获得指定行、列中的最后一个非空单元格 -------------------------------------- 17技巧4 定位单元格 ------------------------------------------------------------------------------- 20技巧5 查找单元格 ------------------------------------------------------------------------------- 215-1 使用Find方法 ------------------------------------------------------------------------- 215-2 使用Like运算符 ---------------------------------------------------------------------- 25技巧6 替换单元格内字符串 ------------------------------------------------------------------- 26技巧7 复制单元格区域 ------------------------------------------------------------------------- 27技巧8 仅复制数值到另一区域---------------------------------------------------------------- 308-1 使用选择性粘贴 ----------------------------------------------------------------------- 308-2 直接赋值的方法 ----------------------------------------------------------------------- 31技巧9 单元格自动进入编辑状态 ------------------------------------------------------------ 32技巧10 禁用单元格拖放功能 ----------------------------------------------------------------- 32技巧11 单元格格式操作 ----------------------------------------------------------------------- 3311-1 单元格字体格式设置 --------------------------------------------------------------- 3311-2 设置单元格内部格式 --------------------------------------------------------------- 3511-3 为单元格区域添加边框 ------------------------------------------------------------ 3611-4 灵活设置单元格的行高列宽 ------------------------------------------------------ 38技巧12 单元格中的数据有效性 -------------------------------------------------------------- 3912-1 在单元格中建立数据有效性 ------------------------------------------------------ 3912-2 判断单元格是否存在数据有效性 ------------------------------------------------ 4112-3 动态的数据有效性 ------------------------------------------------------------------ 4112-4 自动展开数据有效性下拉列表 --------------------------------------------------- 43技巧13 单元格中的公式 ----------------------------------------------------------------------- 44 VBA常用技巧代码解析yuanzhuping213-1在单元格中写入公式 --------------------------------------------------------------- 4413-2 检查单元格是否含有公式 --------------------------------------------------------- 4513-3 判断单元格公式是否存在错误 --------------------------------------------------- 4613-4 取得单元格中公式的引用单元格 ------------------------------------------------ 4713-5 将单元格中的公式转换为数值 --------------------------------------------------- 48技巧14 单元格中的批注 ----------------------------------------------------------------------- 4914-1 判断单元格是否存在批注 --------------------------------------------------------- 4914-2 为单元格添加批注 ------------------------------------------------------------------ 5014-3 删除单元格中的批注 --------------------------------------------------------------- 51技巧15 合并单元格操作 ----------------------------------------------------------------------- 5215-1 判断单元格区域是否存在合并单元格 ----------------------------------------- 5215-2 合并单元格时连接每个单元格的文本 ----------------------------------------- 5315-3 合并内容相同的连续单元格 ------------------------------------------------------ 5415-4 取消合并单元格时在每个单元格中保留内容 -------------------------------- 56技巧16 高亮显示单元格区域 ----------------------------------------------------------------- 57技巧17 双击被保护单元格时不显示提示消息框 ---------------------------------------- 58技巧18 重新计算工作表指定区域 ----------------------------------------------------------- 60技巧19 录入数据后单元格自动保护 -------------------------------------------------------- 60技巧20 工作表事件Target参数的使用方法 ---------------------------------------------- 6220-1 使用单元格的Address 属性 ------------------------------------------------------ 6220-2 使用Column属性和Row属性 -------------------------------------------------- 6320-3 使用Intersect方法 ------------------------------------------------------------------- 63第2章 Worksheet(工作表)对象 --------------------------------------------------------------- 65技巧21 引用工作表的方式 -------------------------------------------------------------------- 6521-1 使用工作表的名称 ------------------------------------------------------------------ 6521-2 使用工作表的索引号 --------------------------------------------------------------- 6521-3 使用工作表的代码名称 ------------------------------------------------------------ 6621-4 使用ActiveSheet属性引用活动工作表 ---------------------------------------- 66技巧22 选择工作表的方法 -------------------------------------------------------------------- 67技巧23 遍历工作表的方法 -------------------------------------------------------------------- 6823-1 使用For...Next 语句 ---------------------------------------------------------------- 6823-2 使用For Each...Next 语句 --------------------------------------------------------- 70技巧24 在工作表中上下翻页 ----------------------------------------------------------------- 71技巧25 工作表的添加与删除 ----------------------------------------------------------------- 72技巧26 禁止删除指定工作表 ----------------------------------------------------------------- 76技巧27 自动建立工作表目录 ----------------------------------------------------------------- 78技巧28 工作表的深度隐藏 -------------------------------------------------------------------- 80技巧29 防止更改工作表的名称 -------------------------------------------------------------- 82技巧30 工作表中一次插入多行 -------------------------------------------------------------- 83技巧31 删除工作表中的空行 ----------------------------------------------------------------- 84技巧32 删除工作表的重复行 ----------------------------------------------------------------- 86技巧33 定位删除特定内容所在的行 -------------------------------------------------------- 88技巧34 判断是否选中整行 -------------------------------------------------------------------- 89技巧35 限制工作表的滚动区域 -------------------------------------------------------------- 90 VBA常用技巧代码解析yuanzhuping3技巧36 复制自动筛选后的数据区域 -------------------------------------------------------- 91技巧37 使用高级筛选获得不重复记录 ----------------------------------------------------- 93技巧38 工作表的保护与解除保护 ----------------------------------------------------------- 94技巧39 奇偶页打印 ------------------------------------------------------------------------------ 97第3章 Wordbook(工作簿)对象 --------------------------------------------------------------- 99技巧40 工作簿的引用方法 -------------------------------------------------------------------- 9940-1 使用工作簿的名称 ------------------------------------------------------------------ 9940-2 使用工作簿的索引号 --------------------------------------------------------------- 9940-3 使用ThisWorkbook ---------------------------------------------------------------- 10040-4 使用ActiveWorkbook ------------------------------------------------------------- 101技巧41 新建工作簿文件 --------------------------------------------------------------------- 101技巧42 打开指定的工作簿 ------------------------------------------------------------------ 103技巧43 判断指定工作簿是否打开 --------------------------------------------------------- 10643-1 遍历Workbooks集合方法 ------------------------------------------------------- 10643-2 错误处理方法 ----------------------------------------------------------------------- 106技巧44 禁用宏则关闭工作簿 --------------------------------------------------------------- 107技巧45 关闭工作簿不显示保存对话框 --------------------------------------------------- 11145-1 使用Close方法关闭工作簿 ----------------------------------------------------- 11145-2 单击工作簿关闭按钮关闭工作簿 ---------------------------------------------- 113技巧46 禁用工作簿的关闭按钮 ------------------------------------------------------------ 113技巧47 保存工作簿的方法 ------------------------------------------------------------------ 11547-1 使用Save方法 --------------------------------------------------------------------- 11547-2 直接保存为另一文件名 ---------------------------------------------------------- 11547-3 保存工作簿副本 ------------------------------------------------------------------- 115技巧48 保存指定工作表为工作簿文件 --------------------------------------------------- 116技巧49 打印预览时不触发事件 ------------------------------------------------------------ 118技巧50 设置工作簿文档属性信息 --------------------------------------------------------- 120技巧51 不打开工作簿取得其他工作簿数据 -------------------------------------------- 12151-1 使用公式 ----------------------------------------------------------------------------- 12151-2 使用GetObject函数 -------------------------------------------------------------- 12251-3 隐藏Application对象 ------------------------------------------------------------- 12351-4 使用ExecuteExcel4Macro方法 ------------------------------------------------ 12451-5 使用SQL连接 --------------------------------------------------------------------- 125技巧52 返回窗口的可视区域地址 --------------------------------------------------------- 126第4章 Shape(图形)、Chart(图表)对象 ------------------------------------------------ 128技巧53 在工作表中添加图形 --------------------------------------------------------------- 128技巧54 导出工作表中的图片 --------------------------------------------------------------- 133技巧55 在工作表中添加艺术字 ------------------------------------------------------------ 135技巧56 遍历工作表中的图形 --------------------------------------------------------------- 137技巧57 移动、旋转图片 --------------------------------------------------------------------- 139技巧58 工作表中自动插入图片 ------------------------------------------------------------ 140技巧59 固定工作表中图形的位置 --------------------------------------------------------- 143技巧60 使用VBA自动生成图表 ---------------------------------------------------------- 145技巧61 使用独立窗口显示图表 ------------------------------------------------------------ 149 VBA常用技巧代码解析yuanzhuping4技巧62 导出工作表中的图表 --------------------------------------------------------------- 150技巧63 多图表制作 ---------------------------------------------------------------------------- 151第5章 Application对象 -------------------------------------------------------------------------- 155技巧64 取得Excel版本信息 ---------------------------------------------------------------- 155技巧65 取得当前用户名称 ------------------------------------------------------------------ 156技巧66 Excel中的“定时器” -------------------------------------------------------------- 156技巧67 设置活动打印机的名称 ------------------------------------------------------------ 158技巧68 屏蔽、改变组合键的功能 --------------------------------------------------------- 159技巧69 设置Excel窗口标题栏 ------------------------------------------------------------- 160技巧70 自定义Excel状态栏 ---------------------------------------------------------------- 161技巧71 灵活退出Excel ----------------------------------------------------------------------- 162技巧72 隐藏Excel主窗口 ------------------------------------------------------------------- 16372-1 设置Application对象的Visible属性 ----------------------------------------- 16372-2 将窗口移出屏幕 ------------------------------------------------------------------- 16472-3 设置工作簿作为加载宏运行 ---------------------------------------------------- 165第6章使用对话框 -------------------------------------------------------------------------------- 167技巧73 使用Msgbox函数 ------------------------------------------------------------------- 16773-1 显示简单的提示信息 ------------------------------------------------------------- 16773-2 定制个性化的消息框 ------------------------------------------------------------- 16873-3 获得消息框的返回值 ------------------------------------------------------------- 16973-4 在消息框中排版 ------------------------------------------------------------------- 17173-5 对齐消息框中显示的信息 ------------------------------------------------------- 172技巧74 自动关闭的消息框 ------------------------------------------------------------------ 17474-1 使用WshShell.Popup方法显示消息框 --------------------------------------- 17474-2 使用API函数显示消息框 ------------------------------------------------------- 175技巧75 使用InputBox函数 ----------------------------------------------------------------- 17675-1 简单的数据输入 ------------------------------------------------------------------- 17675-2 使用对话框输入密码 ------------------------------------------------------------- 178技巧76 使用InputBox方法 ----------------------------------------------------------------- 18076-1 输入指定类型的数据 ------------------------------------------------------------- 18076-2 获得单元格区域地址 ------------------------------------------------------------- 182技巧77 内置对话框 ---------------------------------------------------------------------------- 18377-1 调用内置的对话框 ---------------------------------------------------------------- 18377-2 获取选定文件的文件名 ---------------------------------------------------------- 18677-3 使用“另存为”对话框 ---------------------------------------------------------- 188技巧78 调用操作系统“关于”对话框 ------------------------------------------------------ 190第7章菜单和工具栏 ----------------------------------------------------------------------------- 192技巧79 在菜单中添加菜单项 --------------------------------------------------------------- 192技巧80 在菜单栏指定位置添加菜单 ------------------------------------------------------ 195技巧81 屏蔽和删除工作表菜单 ------------------------------------------------------------ 197技巧82 改变系统菜单的操作 --------------------------------------------------------------- 198技巧83 定制自己的系统菜单 --------------------------------------------------------------- 199技巧84 改变菜单按钮图标 ------------------------------------------------------------------ 205技巧85 右键快捷菜单增加菜单项 --------------------------------------------------------- 206 VBA常用技巧代码解析yuanzhuping5技巧86 自定义右键快捷菜单 --------------------------------------------------------------- 207技巧87 使用右键菜单制作数据有效性 --------------------------------------------------- 210技巧88 禁用工作表右键菜单 --------------------------------------------------------------- 212技巧89 创建自定义工具栏 ------------------------------------------------------------------ 213技巧90 自定义工具栏按钮图标 ------------------------------------------------------------ 216技巧91 自定义工作簿图标 ------------------------------------------------------------------ 217技巧92 移除工作表的最小最大化和关闭按钮 ----------------------------------------- 218技巧93 在工具栏上添加下拉列表框 ------------------------------------------------------ 219技巧94 屏蔽工作表的复制功能 ------------------------------------------------------------ 221技巧95 禁用工具栏的自定义 --------------------------------------------------------------- 222技巧96 屏蔽所有的命令栏 ------------------------------------------------------------------ 225技巧97 恢复Excel的命令栏 ---------------------------------------------------------------- 226第8章控件与用户窗体 -------------------------------------------------------------------------- 228技巧98 限制文本框的输入 ------------------------------------------------------------------ 228技巧99 文本框添加右键快捷菜单 --------------------------------------------------------- 230技巧100 文本框回车自动输入 ------------------------------------------------------------- 234技巧101 自动选择文本框内容 ------------------------------------------------------------- 235技巧102 设置文本框数据格式 ------------------------------------------------------------- 236技巧103 限制文本框的输入长度 ---------------------------------------------------------- 238技巧104 将光标返回文本框中 ------------------------------------------------------------- 239技巧105 文本框的自动换行 ----------------------------------------------------------------- 241技巧106 多个文本框数据相加 ------------------------------------------------------------- 243技巧107 控件跟随活动单元格 ------------------------------------------------------------- 244技巧108 高亮显示按钮 ----------------------------------------------------------------------- 245技巧109 组合框和列表框添加列表项的方法 ------------------------------------------- 247109-1 使用RowSource属性添加列表项 -------------------------------------------- 247109-2 使用List属性添加列表项 ----------------------------------------------------- 248109-3 使用AddItem方法添加列表项 ----------------------------------------------- 249技巧110 去除列表框数据源的重复值和空格 ------------------------------------------- 251技巧111 移动列表框条目 -------------------------------------------------------------------- 253技巧112 允许多项选择的列表框----------------------------------------------------------- 256技巧113 多列组合框和列表框的设置 ---------------------------------------------------- 259113-1 多列组合框和列表框添加列表项 -------------------------------------------- 259113-2 多列列表框写入工作表 --------------------------------------------------------- 261技巧114 输入时逐步提示信息 -------------------------------------------------------------- 263技巧115 二级组合框 -------------------------------------------------------------------------- 270技巧116 使用DTP控件输入日期 --------------------------------------------------------- 272技巧117 使用RefEdit控件选择区域 ----------------------------------------------------- 275技巧118 如何注册控件 ----------------------------------------------------------------------- 276技巧119 遍历控件的方法 -------------------------------------------------------------------- 279119-1 使用名称中的变量遍历控件 -------------------------------------------------- 279119-2 使用对象类型遍历控件 --------------------------------------------------------- 281119-3 使用程序标识符遍历控件 ------------------------------------------------------ 282119-4 使用名称中的变量遍历图形 -------------------------------------------------- 283 VBA常用技巧代码解析yuanzhuping6119-5使用FormControlType属性遍历图形 --------------------------------------- 284技巧120 使微调框最小变动量小于1 ----------------------------------------------------- 285技巧121 不打印工作表中的控件 ---------------------------------------------------------- 287121-1 设置控件格式 --------------------------------------------------------------------- 287121-2 设置控件的printobjcet属性 --------------------------------------------------- 289技巧122 在框架中使用滚动条 ------------------------------------------------------------- 289技巧123 使用多页控件 ----------------------------------------------------------------------- 291技巧124 标签文字垂直居中对齐 ---------------------------------------------------------- 293技巧125 使用TabStrip控件 ----------------------------------------------------------------- 295技巧126 显示GIF动画图片 ---------------------------------------------------------------- 297技巧127 播放Flash文件 --------------------------------------------------------------------- 300技巧128 在工作表中添加窗体控件 ------------------------------------------------------- 302128-1 使用AddFormControl方法 ---------------------------------------------------- 303128-2 使用Add方法 -------------------------------------------------------------------- 305技巧129 在工作表中添加ActiveX控件 ------------------------------------------------- 307129-1 使用Add方法 -------------------------------------------------------------------- 308129-2 使用AddOLEObject方法 ------------------------------------------------------ 310技巧130 使用spreadsheet控件 ------------------------------------------------------------- 311技巧131 使用Listview控件 ----------------------------------------------------------------- 314131-1 使用Listview控件显示数据列表 -------------------------------------------- 314131-2 在Listview控件中使用复选框 ----------------------------------------------- 317131-3 调整Listview控件的行距 ----------------------------------------------------- 319131-4 在Listview控件中排序 --------------------------------------------------------- 322131-5 Listview控件的图标设置 ------------------------------------------------------- 323技巧132 调用非模式窗体 -------------------------------------------------------------------- 326技巧133 进度条的制作 ----------------------------------------------------------------------- 328133-1 使用进度条控件 ------------------------------------------------------------------ 328133-2 使用标签控件 --------------------------------------------------------------------- 330技巧134 使用TreeView控件显示层次 --------------------------------------------------- 333技巧135 用户窗体添加图标 ----------------------------------------------------------------- 337技巧136 用户窗体添加最大最小化按纽 ------------------------------------------------- 339技巧137 禁用窗体标题栏的关闭按钮 ---------------------------------------------------- 340技巧138 屏蔽窗体标题栏的关闭按钮 ---------------------------------------------------- 341技巧139 无标题栏和边框的窗体 ---------------------------------------------------------- 343技巧140 制作年月选择窗体 ----------------------------------------------------------------- 344技巧141 自定义窗体中的鼠标指针类型 ------------------------------------------------- 347技巧142 调整窗体的显示位置 ------------------------------------------------------------- 348技巧143 由鼠标确定窗体显示位置 ------------------------------------------------------- 350技巧144 用户窗体的打印 -------------------------------------------------------------------- 351技巧145 使用自定义颜色设置窗体颜色 ------------------------------------------------- 353技巧146 在窗体中显示图表 ----------------------------------------------------------------- 354146-1 使用Export方法 ----------------------------------------------------------------- 354146-2 使用API函数 --------------------------------------------------------------------- 356技巧147 窗体运行时调整控件大小 ------------------------------------------------------- 357 VBA常用技巧代码解析yuanzhuping7技巧148 在用户窗体上添加菜单 ---------------------------------------------------------- 360技巧149 在用户窗体上添加工具栏 ------------------------------------------------------- 364技巧150 使用代码添加窗体及控件 ------------------------------------------------------- 369技巧151 用户窗体的全屏显示 ------------------------------------------------------------- 375151-1 设置用户窗体为应用程序的大小 -------------------------------------------- 375151-2 根据屏幕分辨率进行设置 ----------------------------------------------------- 376技巧152 在用户窗体上添加状态栏 ------------------------------------------------------- 377第9章函数的使用 -------------------------------------------------------------------------------- 381技巧153 调用工作表函数求和 ------------------------------------------------------------- 381技巧154 查找最大、最小值 ----------------------------------------------------------------- 381技巧155 不重复值的录入 -------------------------------------------------------------------- 383技巧156 获得当月的最后一天 ------------------------------------------------------------- 385技巧157 四舍五入运算 ----------------------------------------------------------------------- 386157-1 极小值修正法 --------------------------------------------------------------------- 386157-2 调用工作表函数法 --------------------------------------------------------------- 387技巧158 使用字符串函数 -------------------------------------------------------------------- 387技巧159 使用日期函数 ----------------------------------------------------------------------- 389技巧160 判断是否为数值 -------------------------------------------------------------------- 393技巧161 格式化数值、日期和时间 ------------------------------------------------------- 394技巧162 个人所得税自定义函数 ---------------------------------------------------------- 396技巧163 人民币大写函数 -------------------------------------------------------------------- 398技巧164 列号转换为列标 -------------------------------------------------------------------- 400技巧165 判断工作表是否为空表 ---------------------------------------------------------- 401技巧166 查找指定工作表 -------------------------------------------------------------------- 402技巧167 查找指定工作簿是否打开 ------------------------------------------------------- 404技巧168 取得应用程序的安装路径 ------------------------------------------------------- 404技巧169 数组的使用 -------------------------------------------------------------------------- 406169-1 代码运行时创建数组 ------------------------------------------------------------ 406169-2 文本转换为数组 ------------------------------------------------------------------ 407169-3 使用动态数组去除重复值 ----------------------------------------------------- 409第10章文件操作 ----------------------------------------------------------------------------------- 412技巧170 导入文本文件 ----------------------------------------------------------------------- 412170-1 使用查询表导入 ------------------------------------------------------------------ 412170-2 使用Open 语句导入 ------------------------------------------------------------ 413170-3 使用OpenText方法 ------------------------------------------------------------- 415技巧171 将数据写入文本文件 ------------------------------------------------------------- 416171-1 使用Print # 语句 ----------------------------------------------------------------- 416171-2 另存为文本文件 ------------------------------------------------------------------ 418技巧172 文件修改的日期和时间 ---------------------------------------------------------- 419技巧173 查找文件或文件夹 ----------------------------------------------------------------- 420技巧174 获得当前文件夹的名称 ---------------------------------------------------------- 422技巧175 创建和删除文件夹 ----------------------------------------------------------------- 422技巧176 重命名文件或文件夹 ------------------------------------------------------------- 423技巧177 复制指定的文件 -------------------------------------------------------------------- 424 VBA常用技巧代码解析yuanzhuping8技巧178 删除指定的文件 -------------------------------------------------------------------- 425技巧179 搜索特定的文件 -------------------------------------------------------------------- 426技巧180 使用WSH处理文件 -------------------------------------------------------------- 428180-1 获取文件信息 --------------------------------------------------------------------- 428180-2 查找文件 --------------------------------------------------------------------------- 430180-3 移动文件 --------------------------------------------------------------------------- 431180-4 复制文件 --------------------------------------------------------------------------- 431180-5 删除文件 --------------------------------------------------------------------------- 432180-6 创建文件夹 ------------------------------------------------------------------------ 433180-7 复制文件夹 ------------------------------------------------------------------------ 434180-8 移动文件夹 ------------------------------------------------------------------------ 435180-9 删除文件夹 ------------------------------------------------------------------------ 435180-10 导入文本文件-------------------------------------------------------------------- 436180-11 创建文本文件 -------------------------------------------------------------------- 438第11章其他应用 ----------------------------------------------------------------------------------- 441技巧181 取得电脑名称 ----------------------------------------------------------------------- 441技巧182 取得逻辑盘序列号 ----------------------------------------------------------------- 442技巧183 使用API取得硬盘信息 ---------------------------------------------------------- 443技巧184 使用数字签名 ----------------------------------------------------------------------- 444技巧185 暂停代码的运行 -------------------------------------------------------------------- 449技巧186 定时关机 ----------------------------------------------------------------------------- 450技巧187 打开指定的网页 -------------------------------------------------------------------- 451技巧188 VBE的操作 -------------------------------------------------------------------------- 452188-1 添加模块和过程 ------------------------------------------------------------------ 452188-2 建立事件过程 --------------------------------------------------------------------- 454188-3 模块的导入与导出 --------------------------------------------------------------- 456188-4 删除宏代码 ------------------------------------------------------------------------ 457技巧189 保护VBA代码 --------------------------------------------------------------------- 459189-1 设置工程密码 --------------------------------------------------------------------- 459189-2 设置“工程不可查看” --------------------------------------------------------- 460技巧190 优化代码 ----------------------------------------------------------------------------- 462190-1 关闭屏幕刷新 --------------------------------------------------------------------- 462190-2 使用工作表函数 ------------------------------------------------------------------ 464。
EXCEL-VBA-实用代码收集

EXCEL-VBA-实用代码收集四、Word vba常用语句100句1、系统参数(01) Application.ActivePrinter …获取当前打印机(02) Application.Height '当前应用程序文档的高度(03) Application.Width …当前应用程序文档的宽度(04) Application.Build …获取Word版本号和编译序号(05) Application.Caption …当前应用程序名(06) Application.DefaultSaveFormat '返回空字符串,表示Word文档(07) Application.DisplayRecentFiles '返回是否显示最近使用的文档的状态(08) Application.Documents.Count '返回当前打开的文档数(09) Application.FontNames.Count …返回当前可用的字体数(10) Applicat ion.Left …返回当前文档的水平位置(11) Application.MacroContainer.FullName '返回当前文档名,包括所在路径Application.MacroContainer.pach '返回当前文档路径Application.ActiveDocument.Path …获得文件的相对路径(12) Application.NormalTemplate.FullName '返回文档标准模板名称及所在位置(13) Application.RecentFiles.Count '返回最近打开的文档数目(14) Application.System.CountryRegion '返回应用程序所在的地区代码(15) Application.System.FreeDiskSpace …返回应用程序所在磁盘可用空间(16) Application.System.HorizontalResolution '返回显示器的水平分辨率(17) Application.System.VerticalResolution '返回显示器的垂直(18)/doc/0018125294.html,nguageDesignatio n '返回系统所使用的语言(19) Application.System.MathCoprocessorInstalled …返回系统是否安装了数学协处理器(20) Application.System.OperatingSystem …返回当前操作系统名(21) Application.System.ProcessorType '返回计算机处理器名(22) Application.Sy stem.Version …返回操作系统的版本号(23) Application.Templates.Count '返回应用程序所使用的模板数(24) /doc/0018125294.html,erName '返回应用程序用户名(25) Application.Version …返回应用程序的版本号2、Documents/Document对象(26) ActiveDocument.AttachedTemplate.FullName '返回当前文档采用的模板名及模板所在位置(27) ActiveDocument.Bookmarks.Count '返回当前文档中的书签数(28) ActiveDocument.Characters.Count '返回当前文档的字符数(29) ActiveDocument.CodeName …返回当前文档的代码名称(30)/doc/0018125294.html,ments.Count …返回当前文档中的评论数(31) ActiveDocument.Endnotes.Count '返回当前文档中的尾注数(32) ActiveDocument.Fields.Count '返回当前文档中的域数目(33) ActiveDocument.Footnotes.Count …返回当前文档中的脚(34) ActiveDocument.FullName '返回当前文档的全名及所在位置(35) ActiveDocument.HasPassword '当前文档是否有密码保护(36) ActiveDocument.Hyperlinks.Count '返回当前文档中的链接数(37) ActiveDocument.Indexes.Count '返回当前文档中的索引数(38) ActiveDocument.ListParagraphs.Count '返回当前文档中项目编号或项目符号数(39) ActiveDocument.ListTemplates.Count '返回当前文档中使用的列表模板数(40) ActiveDocument.Paragraphs.Count '返回当前文档中的段落数(41) ActiveDocument.Password=XXX '设置打开文件使用的密码(42) ActiveDocument.ReadOnly '获取当前文档是否为只读属性(43) ActiveDocument.Saved '当前文档是否被保存(44) ActiveDocument.Sections.Count '当前文档中的节数(45) ActiveDocument.Sentences.Count …当前文档中的语句数(46) ActiveDocument.Shapes.Count '当前文档中的形状数,图形?(47) ActiveDocument.Styles.Count '当前文档中的样式数(48) ActiveDocument.Tables.Count …当前文档中的表格数(49) ActiveDocument.TablesOfAuthorities.Count …返回当前文档中的引文目录数(50)ActiveDocument.T ablesOfAuthoritiesCategories.Count …返回当前文档中引文目录类别数(51) ActiveDocument.Tabl esOfContents.Count …返回当前文档中的目录数(52) ActiveDocument.TablesOfFigures.Count '返回当前文档中的图表目录数3、Paragraphs/Paragraph对象(53) Selection.Paragraphs.Count '返回所选区域的段落数(54) Selection.Paragraphs.First '返回所选区域中的第一段(55) ActiveDocument.Paragraphs(1).LeftIndent '返回当前文档中第一段的左缩进值(56) ActiveDocument.Paragraphs(1).LineSpacing '返回当前文档中第一段的行距(57) ActiveDocument.Paragraphs(1).OutlineLevel …返回或设置当前文档中第一段的大纲级别.OutlineLevel = wdOutlineLevel2 …2级.OutlineLevel = wdOutlineLevel3 …3级(58) ActiveDocu ment.Paragraphs(1).RightIndent …返回当前文档中第一段的右缩进量(59) ActiveDocument.Paragraphs(1).SpaceBefore '返回当前文档中第一段的段前间距(60) ActiveDocument.Paragraphs(1).SpaceAfter …返回当前文档中第一段的段后间距(61) ActiveDocument.Paragraphs(1).Range.Text '返回当前文档中第一段的内容(62)ActiveDocument.Paragraphs(1)/doc/0018 125294.html,Local '返回当前文档中第一段应用的样式名(63) ActiveDocument.Paragraphs(1).Range.Style.Description '返回当前文档中第一段所应用样式的详细描述(64)ActiveDocument.Paragraphs(1)/doc/0018 125294.html, '返回当前文档中第一段所应用样式的字体名(65)ActiveDocument.Paragraphs(1)/doc/0018125294.html,FarEast '返回或设置一种东亚字体名(66) ActiveDocument.Paragraphs(1).Range.Style.Font.Size '返回或设置当前文档中第一段所应用样式的字体大小(67)ActiveDocument.Paragraphs(1).Range.Style.Font.Spacing '返回或设置字符间距(68) Selection.Words.Count '所选区域的字数Sentences对象(69) Selection.Sentences.Item(1) '所选区域中的第一句的内容Words对象(71) ActiveDocument.Words(1).Select '选择当前文档中的第一个词(72) ActiveDocument.Range.Words(1).InsertAfter "我爱你!" '在当前文档中的第一个词后插入“我爱你”4、Characters对象(73) Selection.Characters.Count '当前文档中所选区域的字符数(74)ActiveDocument.Paragraphs(1).Range.InsertParagraphAfter'在当前文档的第一段之后插入一个新段落5、Sections/Section对象(75) ActiveDocument.Sections.First '当前文档的第一节(76)ActiveDocument.Sections.First.PageSetup.BottomMargin '当前文档第一节所在页的底边距(77) ActiveDocument.Sections.First.PageSetup.LeftMargin '当前文档第一节所在页的左边距(78) ActiveDocument.Sections.First.PageSetup.RightMargin '当前文档第一节所在页的右边距(79) ActiveDocument.Sections.First.PageSetup.T opMargin '当前文档第一节所在页的顶边距(80) ActiveDocument.Sections.First.PageSetup.PaperSize '返回或设置当前文档第一节所在页的大小(81) ActiveDocument.Sections.First.PageSetup.PageHeight '返回或设置当前文档第一节所在页的高度(82) ActiveDocument.Sections.First.PageSetup.PageWidth '返回或设置当前文档第一节所在页的宽度(83) ActiveDocument.Sections.Add Range:=myRange '在当前文档中添加新节(84) ActiveDocument.Sections.Item(2) '当前文档中的第二节(85)/doc/0018125294.html,st.Range.InsertAfte r "文档结束!" '在当前文档中最后一节的结尾添加文字“文档结束!”6、Range对象(86) ActiveDocument.Range(Start:=0, End:=10) '表示当前文档前10个字符所组成的一个Range对象(87) Set myRange = ActiveDocument.Range(Start:=ActiveDocument.Paragraphs(2).R ange.Start, _End:=ActiveDocument.Paragraphs(4).Range.End) '将当前文档第2段至第4段设置为一个Range对象(88) ActiveDocument.Paragraphs(1).Range.Copy '复制当前文档中的第一段(89) Selection.CopyDocuments.Add.Content.Paste '复制所选内容到新文档中(90) ActiveDocument.Bookmarks("Book1").Copy Name:="Book2" '将Book2书签复制Book1书签标记的位置(91) Selection.GoTo What:=wdGoToLine, Which:=wdGoToAbsolute, Count:=4 '将所选内容移至文档中的第4行(92) Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext '将所选内容移至下一个表格的第1个单元格(93) Selection.Range.AutoFormat '为所选内容套用格式(94) /doc/0018125294.html, = "Arial" '将当前文档的字体设置为斜体(95) ActiveDocument.Content.Select Selection.Delete '将当前文档中的内容删除其它(96) Documents.Add '添加一个新文档(97) Set myTable = ActiveDocument.T ables.Add(Selection.Range, 2, 2) '在当前文档所选区域添加一个2行2列的表格7、文件读写(98) Open "C:\my.txt" For Input As #1 '打开一个用于输入的文件并令其编号为1(99) Line Input #1, TextLine '读取被打开用于输入且编号为1的文件(100) Close #1 '关闭编号为1的文件一、新建Word引用需要首先创建一个对Word Application 对象的引用。
Excel-vba宏代码-大全

宏文件集▲打开全部隐藏工作表返回Sub 打开全部隐藏工作表()Dim i As IntegerFor i = 1 To Sheets.CountSheets(i).Visible = TrueNext iEnd Sub▲循环宏返回Sub 循环()AAA = Range("C2")Dim i As LongDim times As Longtimes = AAA'times代表循环次数,执行前把times赋值即可(不可小于1,不可大于2147483647)For i = 1 To timesCall 过滤一行If Range("完成标志") = "完成" Then Exit For '如果名为'完成标志'的命名单元的值等于'完成',则退出循环,如果一开始就等于'完成',则只执行一次循环就退出'If Sheets("传送参数").Range("A" & i).Text = "完成" Then Exit For '如果某列出现"完成"内容则退出循环Next iEnd Sub▲录制宏时调用“停止录制”工具栏返回Sub 录制宏时调用停止录制工具栏()mandBars("Stop Recording").Visible = TrueEnd Sub▲高级筛选5列不重复数据至指定表返回Sub 高级筛选5列不重复数据至Sheet2()Sheets("Sheet2").Range("A1:E65536") = "" '清除Sheet2的A:D列Range("A1:E65536").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheet2.Range( _"A1"), Unique:=TrueSheet2.Columns("A:E").Sort Key1:=Sheet2.Range("A2"), Order1:=xlAscending,Header:=xlGuess, _OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _:=xlPinYinEnd Sub▲双击单元执行宏(工作表代码)返回Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If Range("$A$1") = "关闭" Then Exit SubSelect Case Target.AddressCase "$A$4"Call 宏1Cancel = TrueCase "$B$4"Call 宏2Cancel = TrueCase "$C$4"Call 宏3Cancel = TrueCase "$E$4"Call 宏4Cancel = TrueEnd SelectEnd Sub▲双击指定区域单元执行宏(工作表代码)返回Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If Range("$A$1") = "关闭" Then Exit SubIf Not Application.Intersect(Target, Range("A4:A9", "C4:C9")) Is Nothing Then Call 打开隐藏表End Sub▲进入单元执行宏(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)'以单元格进入代替按钮对象调用宏If Range("$A$1") = "关闭" Then Exit SubSelect Case Target.AddressCase "$A$5" '单元地址(Target.Address),或命名单元名字()Call 宏1Case "$B$5"Call 宏2Case "$C$5"Call 宏3End SelectEnd Sub▲进入指定区域单元执行宏(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Range("$A$1") = "关闭" Then Exit SubIf Not Application.Intersect(Target, Range("A4:A9","C4:C9")) Is Nothing Then Call打开隐藏表End Sub▲在多个宏中依次循环执行一个(控件按钮代码)返回Private Sub CommandButton1_Click()Static RunMacro As IntegerSelect Case RunMacroCase 0宏1RunMacro = 1Case 1宏2RunMacro = 2Case 2宏3RunMacro = 0End SelectEnd Sub▲在两个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码)返回Private Sub CommandButton1_Click()With CommandButton1If .Caption = "保护工作表" ThenCall 保护工作表.Caption = "取消工作表保护"Exit SubEnd IfIf .Caption = "取消工作表保护" ThenCall 取消工作表保护.Caption = "保护工作表"Exit SubEnd IfEnd WithEnd Sub▲在三个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码)返回Option ExplicitPrivate Sub CommandButton1_Click()With CommandButton1If .Caption = "宏1" ThenCall 宏1.Caption = "宏2"Exit SubEnd IfIf .Caption = "宏2" ThenCall 宏2.Caption = "宏3"Exit SubEnd IfIf .Caption = "宏3" ThenCall 宏3.Caption = "宏1"Exit SubEnd IfEnd WithEnd Sub▲根据A1单元文本隐藏/显示按钮(控件按钮代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Range("A1") > 2 ThenCommandButton1.Visible = 1ElseCommandButton1.Visible = 0End IfEnd SubPrivate Sub CommandButton1_Click()重排窗口End Sub▲当前单元返回按钮名称(控件按钮代码)返回Private Sub CommandButton1_Click()ActiveCell = CommandButton1.CaptionEnd Sub▲当前单元内容返回到按钮名称(控件按钮代码)返回Private Sub CommandButton1_Click()CommandButton1.Caption = ActiveCellEnd Sub▲奇偶页分别打印返回Sub 奇偶页分别打印()Dim i%, Ps%Ps = ExecuteExcel4Macro("GET.DOCUMENT(50)") '总页数MsgBox "现在打印奇数页,按确定开始."For i = 1 To Ps Step 2ActiveSheet.PrintOut from:=i, To:=iNext iMsgBox "现在打印偶数页,按确定开始."For i = 2 To Ps Step 2ActiveSheet.PrintOut from:=i, To:=iNext iEnd Sub▲自动打印多工作表第一页返回Sub 自动打印多工作表第一页()Dim sh As IntegerDim xDim yDim syDim syzx = InputBox("请输入起始工作表名字:")sy = InputBox("请输入结束工作表名字:")y = Sheets(x).Indexsyz = Sheets(sy).IndexFor sh = y To syzSheets(sh).SelectSheets(sh).PrintOut from:=1, To:=1Next shEnd Sub▲查找A列文本循环插入分页符返回Sub 循环插入分页符()' Selection = Workbooks("临时表").Sheets("表2").Range("A1") 调用指定地址内容Dim i As LongDim times As Longtimes = Application.WorksheetFunction.CountIf(Sheet1.Range("a:a"), "分页")'times代表循环次数,执行前把times赋值即可(不可小于1,不可大于2147483647)For i = 1 To timesCall 插入分页符Next iEnd SubSub 插入分页符()Cells.Find(What:="分页", After:=ActiveCell, LookIn:=xlValues, LookAt:= _xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _.ActivateActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCellEnd SubSub 取消原分页()Cells.SelectActiveSheet.ResetAllPageBreaksEnd Sub▲将A列最后数据行以上的所有B列图片大小调整为所在单元大小返回Sub 将A列最后数据行以上的所有B列图片大小调整为所在单元大小()Dim Pic As Picture, i&i = [A65536].End(xlUp).RowFor Each Pic In Sheet1.PicturesIf Not Application.Intersect(Pic.TopLeftCell, Range("B1:B" & i)) Is Nothing ThenPic.Top = Pic.TopLeftCell.TopPic.Left = Pic.TopLeftCell.LeftPic.Height = Pic.TopLeftCell.HeightPic.Width = Pic.TopLeftCell.WidthEnd IfNextEnd Sub▲返回光标所在行数返回Sub 返回光标所在行数()x = ActiveCell.RowRange("A1") = xEnd Sub▲在A1返回当前选中单元格数量返回Sub 在A1返回当前选中单元格数量()[A1] = Selection.CountEnd Sub▲返回当前工作簿中工作表数量返回Sub 返回当前工作簿中工作表数量()t = Application.Sheets.CountMsgBox tEnd Sub▲返回光标选择区域的行数和列数返回Sub 返回光标选择区域的行数和列数()x = Selection.Rows.County = Selection.Columns.CountRange("A1") = xRange("A2") = yEnd Sub▲工作表中包含数据的最大行数返回Sub 包含数据的最大行数()n = Cells.Find("*", , , , 1, 2).RowMsgBox nEnd Sub▲返回A列数据的最大行数返回Sub 返回A列数据的最大行数()n = Range("a65536").End(xlUp).RowRange("B1") = nEnd Sub▲将所选区域文本插入新建文本框返回Sub 将所选区域文本插入新建文本框()For Each rag In Selectionn = n & rag.Value & Chr(10)NextActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, ActiveCell.Left +ActiveCell.Width, ActiveCell.Top + ActiveCell.Height, 250#, 100).SelectSelection.Characters.Text = "问题:" & nWith Selection.Characters(Start:=1, Length:=3).Font.Name = "黑体".FontStyle = "常规".Size = 12End WithEnd Sub▲批量插入地址批注返回Sub 批量插入地址批注()On Error Resume NextDim r As RangeIf Selection.Cells.Count > 0 ThenFor Each r In Selectionment.Deleter.AddCommentment.Visible = Falsement.Text Text:="本单元格:" & r.Address & " of " & Selection.AddressNextEnd IfEnd Sub▲批量插入统一批注返回Sub 批量插入统一批注()Dim r As Range, msg As Stringmsg = InputBox("请输入欲批量插入的批注", "提示", "随便输点什么吧")If Selection.Cells.Count > 0 ThenFor Each r In Selectionr.AddCommentment.Visible = Falsement.Text Text:=msgNextEnd IfEnd Sub▲以A1单元内容批量插入批注返回Sub 以A1单元内容批量插入批注()Dim r As RangeIf Selection.Cells.Count > 0 ThenFor Each r In Selectionr.AddCommentment.Visible = Falsement.Text Text:=[a1].TextNextEnd IfEnd Sub▲不连续区域插入当前文件名和表名及地址返回Sub 批量插入当前文件名和表名及地址()For Each mycell In Selectionmycell.FormulaR1C1 = "[" + + "]" + +"!" + mycell.AddressNextEnd Sub▲不连续区域录入当前单元地址返回Sub 区域录入当前单元地址()For Each mycell In Selectionmycell.FormulaR1C1 = mycell.AddressNextEnd Sub▲连续区域录入当前单元地址返回Sub 连续区域录入当前单元地址()Selection = "=ADDRESS(ROW(),COLUMN(),4,1)"Selection.CopySelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=FalseEnd Sub▲返回当前单元地址返回Sub 返回当前单元地址()d = ActiveCell.Address[A1] = dEnd Sub▲不连续区域录入当前日期返回Sub 区域录入当前日期()Selection.FormulaR1C1 = Format(Now(), "yyyy-m-d")End Sub▲不连续区域录入当前数字日期返回Sub 区域录入当前数字日期()Selection.FormulaR1C1 = Format(Now(), "yyyymmdd")End Sub▲不连续区域录入当前日期和时间返回Sub 区域录入当前日期和时间()Selection.FormulaR1C1 = Format(Now(), "yyyy-m-d h:mm:ss")End Sub▲不连续区域录入对勾返回Sub 批量录入对勾()Selection.FormulaR1C1 = "√"End Sub▲不连续区域录入当前文件名返回Sub 批量录入当前文件名()Selection.FormulaR1C1 = End Sub▲不连续区域添加文本返回Sub 批量添加文本()Dim s As RangeFor Each s In Selections = s & "文本内容"NextEnd Sub▲不连续区域插入文本返回Sub 批量插入文本()Dim s As RangeFor Each s In Selections = "文本内容" & sNextEnd Sub▲从指定位置向下同时录入多单元指定内容返回Sub 从指定位置向下同时录入多单元指定内容()Dim arrarr = Array("1", "2", "13", "25", "46", "12", "0", "20")[B2].Resize(8, 1) = Application.WorksheetFunction.Transpose(arr)End Sub▲按aa工作表A列的内容排列工作表标签顺序返回Sub 按aa工作表A列的内容排列工作表标签顺序()Dim I%, str1$I = 1Sheets("aa").SelectDo While Cells(I, 1).Value <> ""str1 = Trim(Cells(I, 1).Value)Sheets(str1).SelectSheets(str1).Move after:=Sheets(I)I = I + 1Sheets("aa").SelectLoopEnd Sub▲以A1单元文本作表名插入工作表返回Sub 以A1单元文本作表名插入工作表()Dim nm As Stringnm = [a1]Sheets.Add = nmEnd Sub▲删除全部未选定工作表返回Sub 删除全部未选定工作表()Dim sht As Worksheet, n As Integer, iFlag As BooleanDim ShtName() As Stringn = ActiveWindow.SelectedSheets.CountReDim ShtName(1 To n)n = 1For Each sht In ActiveWindow.SelectedSheetsShtName(n) = n = n + 1NextApplication.DisplayAlerts = FalseFor Each sht In SheetsiFlag = FalseFor i = 1 To n - 1If ShtName(i) = TheniFlag = TrueExit ForEnd IfNextIf Not iFlag Then sht.DeleteNextApplication.DisplayAlerts = TrueEnd Sub▲工作表标签排序返回Sub 工作表标签排序()Dim i As Long, j As Long, nums As Long, msg As Longmsg = MsgBox("工作表按升序排列请选 '是[Y]'. " & vbCrLf & vbCrLf & "工作表按降序排列请选 '否[N]'", vbYesNoCancel, "工作表排序")If msg = vbCancel Then Exit Subnums = Sheets.CountIf msg = vbYes Then 'Sort ascendingFor i = 1 To numsFor j = i To numsIf UCase(Sheets(j).Name) < UCase(Sheets(i).Name) ThenSheets(j).Move Before:=Sheets(i)End IfNext jNext iElse 'Sort descendingFor i = 1 To numsFor j = i To numsIf UCase(Sheets(j).Name) > UCase(Sheets(i).Name) ThenSheets(j).Move Before:=Sheets(i)End IfNext jNext iEnd IfEnd Sub▲定义指定工作表标签颜色返回Sub 定义指定工作表标签颜色()Sheets("Sheet1").Tab.ColorIndex = 46End Sub▲在目录表建立本工作簿中各表链接目录返回Sub 在目录表建立本工作簿中各表链接目录()Dim s%, Rng As RangeOn Error Resume NextSheets("目录").ActivateIf Err = 0 ThenSheets("目录").UsedRange.DeleteElseSheets.Add = "目录"End IfFor i = 1 To Sheets.CountIf Sheets(i).Name <> "目录" Thens = s + 1Set Rng = Sheets("目录").Cells(((s - 1) Mod 20) + 1, (s - 1) \ 20 + 1 + 1)Rng = Format(s, " 0") & ". " & Sheets(i).NameActiveSheet.Hyperlinks.Add Rng, "#" & Sheets(i).Name & "!A1",ScreenTip:=Sheets(i).NameEnd IfNextSheets("目录").Range("b:iv").EntireColumn.ColumnWidth = 20End Sub▲建立工作表文本目录返回Sub 建立工作表文本目录()Sheets.Add before:=Sheets(1)Sheets(1).Name = "目录"For i = 2 To Sheets.CountCells(i - 1, 1) = Sheets(i).Name'Sheets(1).Hyperlinks.Add Cells(i - 1, 1), "#" & Sheets(i).Name & "!A1" '添加超链接NextEnd Sub▲查另一文件的全部表名返回Sub 查另一文件的全部表名()On Error Resume NextDim i%Dim sh As WorksheetApplication.ScreenUpdating = FalseWorkbooks.Open Filename:=ThisWorkbook.Path & "\2.xls"Windows("1.xls").Activate '当前文件名称Sheets("Sheet1").Select '当前表名称i = 1 '将表名称返回到第1行For Each sh In Workbooks("2.xls").WorksheetsCells(i, 1) = '将表名称返回到第1列i = i + 1 '返回每个表名称向下移动1行Next shWindows("2.xls").Close '关闭对象文件Application.ScreenUpdating = TrueEnd Sub▲当前单元录入计算机名返回Sub 当前单元录入计算机名()Selection = Environ("COMPUTERNAME")'Selection = Workbooks("临时表").Sheets("表2").Range("A1") 调用指定地址内容End Sub▲当前单元录入计算机用户名返回 Sub 当前单元录入计算机用户名()Selection = Environ("Username")'Selection = Workbooks("临时表").Sheets("表2").Range("A1") 调用指定地址内容End Sub▲解除全部工作表保护返回Sub 解除全部工作表保护()Dim n As IntegerFor n = 1 To Sheets.CountSheets(n).UnprotectNext nEnd Sub▲为指定工作表加指定密码保护表返回Sub 为指定工作表加指定密码保护表()Sheet10.Protect Password:="123"End Sub▲在有密码的工作表执行代码返回Sub 在有密码的工作表执行代码()Sheets("1").Unprotect Password:=123 '假定表名为“1”,密码为“123” 打开工作表Range("C:C").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True '隐藏C列空值行Sheets("1").Protect Password:=123 '重新用密码保护工作表End Sub▲执行前需要验证密码的宏(控件按钮代码)返回Private Sub CommandButton1_Click()If InputBox("请输入密码:") <> "123" Then '密码是123MsgBox "密码错误,按确定退出!", 64, "提示"Exit SubEnd IfCells(1, 1) = 10End SubSub 执行前需要验证密码的宏()If InputBox("请输入您的使用权限:", "系统提示") = 123 Then重排窗口 '要执行的宏代码或宏名称ElseMsgBox "对不起,您没有使用该宏的权限,按确定键后退出!"End IfEnd Sub▲拷贝A1公式和格式到A2返回Sub 拷贝A1公式到A2()Workbooks("临时表").Sheets("表1").Range("A1").CopyWorkbooks("临时表").Sheets("表2").Range("A2").PasteSpecialEnd Sub▲复制单元数值返回Sub 复制数值()s = Workbooks("book1").Sheets("Sheet1").Range("A1:A2")Workbooks("book2").Sheets("Sheet1").Range("A1:A2") = sEnd Sub▲插入数值条件格式返回Sub 插入数值条件格式()Selection.FormatConditions.DeleteSelection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _Formula1:="70"Selection.FormatConditions(1).Interior.ColorIndex = 45Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _Formula1:="55"Selection.FormatConditions(2).Interior.ColorIndex = 39Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _Formula1:="60"Selection.FormatConditions(3).Interior.ColorIndex = 34End Sub▲插入透明批注返回Sub 插入透明批注()Selection.AddCommentment.Visible = FalseDim XS As WorksheetFor i = 1 To ments.Countments(i).Text "透明批注"ments(i).Shape.Fill.Visible = msoFalseNextEnd Sub▲添加文本返回Sub 添加文本()Selection = Selection + "×" '不可在数字后添加文本'Selection = Workbooks("临时表").Sheets("表2").Range("A1") 调用指定地址内容End Sub▲光标定位到指定工作表A列最后数据行下一单元返回Sub 光标定位到指定工作表A列最后数据行下一单元()a = Sheets("数据库").[a65536].End(xlUp).RowSheets("数据库").SelectRange("A" & a + 1).SelectEnd Sub▲定位选定单元格式相同的全部单元格返回Sub 定位选定单元格式相同的全部单元格()Dim FirstCell As Range, FoundCell As RangeDim AllCells As RangeWith Application.FindFormat.Clear.NumberFormatLocal = Selection.NumberFormatLocal.HorizontalAlignment = Selection.HorizontalAlignment.VerticalAlignment = Selection.VerticalAlignment.WrapText = Selection.WrapText.Orientation = Selection.Orientation.AddIndent = Selection.AddIndent.IndentLevel = Selection.IndentLevel.ShrinkToFit = Selection.ShrinkToFit.MergeCells = Selection.MergeCells = .Font.FontStyle = Selection.Font.FontStyle.Font.Size = Selection.Font.Size.Font.Strikethrough = Selection.Font.Strikethrough.Font.Subscript = Selection.Font.Subscript.Font.Underline = Selection.Font.Underline.Font.ColorIndex = Selection.Font.ColorIndex.Interior.ColorIndex = Selection.Interior.ColorIndex.Interior.Pattern = Selection.Interior.Pattern.Locked = Selection.Locked.FormulaHidden = Selection.FormulaHiddenEnd WithSet FirstCell = edRange.Find(what:="", searchformat:=True)If FirstCell Is Nothing ThenExit SubEnd IfSet AllCells = FirstCellSet FoundCell = FirstCellDoSet FoundCell = edRange.Find(After:=FoundCell, what:="",searchformat:=True)If FoundCell Is Nothing Then Exit DoSet AllCells = Union(FoundCell, AllCells)If FoundCell.Address = FirstCell.Address Then Exit DoLoopAllCells.SelectEnd Sub▲按当前单元文本定位返回Sub 按当前单元文本定位()ABC = SelectionDim aa As RangeFor Each a In edRangeIf a Like ABC ThenIf aa Is Nothing ThenSet aa = a.CellsElseSet aa = Union(aa, a.Cells)End IfEnd IfNextaa.SelectEnd Sub▲按固定文本定位返回Sub 文本定位()Dim aa As RangeFor Each a In edRangeIf a Like "*合计*" ThenIf aa Is Nothing ThenSet aa = a.CellsElseSet aa = Union(aa, a.Cells)End IfEnd IfNextaa.SelectEnd Sub▲删除包含固定文本单元的行或列返回Sub 删除包含固定文本单元的行或列()DoCells.Find(what:="哈哈").ActivateSelection.EntireRow.Delete '删除行' Selection.EntireColumn.Delete '删除列Loop Until Cells.Find(what:="哈哈") Is NothingEnd Sub▲定位数据及区域以上的空值返回Sub 定位数据及区域以上的空值()Dim aa As RangeFor Each a In edRangeIf a Like 〈0 ThenIf aa Is Nothing ThenSet aa = a.CellsElseSet aa = Union(aa, a.Cells)End IfEnd IfNextaa.SelectEnd Sub▲右侧单元自动加5(工作表代码)返回Private Sub Worksheet_Change(ByVal Target As Range)Application.EnableEvents = FalseTarget.Offset(0, 1) = Target + 5Application.EnableEvents = TrueEnd Sub▲当前单元加2返回Sub 当前单元加2()Selection = Selection + 2'Selection = Workbooks("临时表").Sheets("表2").Range("A1") 调用指定地址内容End Sub▲A列等于A列减B列返回Sub A列等于A列减B列()For i = 1 To 23Cells(i, 1) = Cells(i, 1) - Cells(i, 2)NextEnd Sub▲用于光标选定多区域跳转指定单元(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal T As Range)a = Array([b6:b7], [e6], [h6])For i = 0 To 2If Not Application.Intersect(T, a(i)) Is Nothing Then[a1].Select: Exit ForEnd IfNextEnd Sub▲将A1单元录入的数据累加到B1单元(工作表代码)返回Private Sub Worksheet_Change(ByVal Target As Range)Dim t As LongIf Target.Address = "$A$1" Thent = Sheet1.Range("$B$1").ValueSheet1.Range("$B$1").Value = t + Target.ValueEnd IfEnd Sub▲在指定颜色区域选择单元时添加/取消"√"(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)Dim myrg As RangeFor Each myrg In TargetIf myrg.Interior.ColorIndex = 37 Then myrg = IIf(myrg <> "√", "√", "")NextEnd Sub▲在指定区域选择单元时添加/取消"√"(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)Dim Rng As RangeIf Target.Count <= 15 ThenIf Not Application.Intersect(Target, Range("D6:D20")) Is Nothing ThenFor Each Rng In SelectionWith RngIf .Value = "" Then.Value = "√"Else.Value = ""End IfEnd WithNextEnd IfEnd IfEnd Sub▲双击指定单元,循环录入文本(工作表代码)返回Private Sub Worksheet_BeforeDoubleClick(ByVal T As Range, Cancel As Boolean)If T.Address <> "$A$1" Then Exit SubCancel = TrueT = IIf(T = "好", "中", IIf(T = "中", "差", "好"))End Sub双击指定单元,循环录入文本(工作表代码)Dim nums As BytePrivate Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Address = "$A$1" Thennums = nums Mod 3 + 1Target = Mid("上中下", nums, 1)Target.Offset(1, 0).SelectEnd IfEnd Sub▲单元区域引用(工作表代码)返回Private Sub Worksheet_Activate()Sheet1.Range("A1:B3").Value = Sheet2.Range("A1:B3").ValueEnd Sub▲在指定区域选择单元时数值加1(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Not Application.Intersect([a1:e10], Target) Is Nothing ThenTarget = Val(Target) + 1End IfEnd Sub▲混合文本的编号返回Sub 混合文本的编号()Worksheets(1).Range("B2").Value = "北京" & (--(Mid(Worksheets(1).Range("B2"), 3,100)) + 1)End Sub▲指定区域单元双击数据累加(工作表代码)返回Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If Not Application.Intersect([A1:Y100], Target) Is Nothing Thenoldvalue = Val(Target.Value)inputvalue = InputBox("请输入数量,按ENTER键确认!", "数值累加器")Target.Value = oldvalue + inputvalueEnd IfEnd Sub▲选择单元区域触发事件(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Target.Address = "$A$1:$B$2" ThenMsgBox "你选择了$A$1:$B$2单元"End IfEnd Sub▲当修改指定单元内容时自动执行宏(工作表代码)返回Private Sub Worksheet_Change(ByVal Target As Range)If Not Application.Intersect(Target, [B3:B4]) Is Nothing Then重排窗口End IfEnd Sub▲被指定单元内容限制执行宏返回Sub 被指定单元限制执行宏()If Range("$A$1") = "关闭" Then Exit Sub窗口End Sub▲双击单元隐藏该行(工作表代码)返回Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)Rows(Target.Row).Hidden = TrueEnd Sub▲高亮显示行(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)Cells.Interior.ColorIndex = 2Rows("1:2").Interior.ColorIndex = 40 '保持1至2行的颜色推荐39,22,40,Rows(Target.Row).Interior.ColorIndex = 35 '高亮推荐颜色35,20,24,34,37,40,15End Sub▲高亮显示行和列(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)Cells.Interior.ColorIndex = xlNoneRows(Target.Row).Interior.ColorIndex = 34Columns(Target.Column).Interior.ColorIndex = 34End Sub▲为指定工作表设置滚动范围(工作簿代码)返回Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target AsRange)Sheet1.ScrollArea = "A1:M30"End Sub▲在指定单元记录打印和预览次数(工作簿代码)返回Private Sub Workbook_BeforePrint(Cancel As Boolean)Range("A1") = 1 + Range("A1")End Sub▲自动数字金额转大写(工作表代码)返回Private Sub Worksheet_Change(ByVal M As Range)On Error Resume Nexty = Int(Round(100 * Abs(M)) / 100)j = Round(100 * Abs(M) + 0.00001) - y * 100f = (j / 10 - Int(j / 10)) * 10A = IIf(y < 1, "", Application.Text(y, "[DBNum2]") & "元")b = IIf(j > 9.5, Application.Text(Int(j / 10), "[DBNum2]") & "角", IIf(y < 1,"", IIf(f > 1, "零", "")))c = IIf(f < 1, "整", Application.Text(Round(f, 0), "[DBNum2]") & "分")M = IIf(Abs(M) < 0.005, "", IIf(M < 0, "负" & A & b & c, A & b & c))End Sub▲将全部工作表的A1单元作为单击按钮(工作簿代码)返回Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target AsRange)If Target.Address = "$A$1" ThenCall 宏名End IfEnd Sub▲闹钟——到指定时间执行宏(工作簿代码)返回Private Sub Workbook_Open()Application.OnTime ("11:45:00"), "提示1" '宏名字Application.OnTime ("12:00:00"), "提示2" '宏名字End Sub▲改变Excel界面标题的宏(工作簿代码)返回Private Sub Workbook_Open()Application.Caption = "春节快乐"End Sub▲在指定工作表的指定单元返回光标当前多选区地址(工作簿代码)返回Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target AsRange)Worksheets("表2").Range("A1") = Target.Address(0, 0)End Sub▲B列录入数据时在A列返回记录时间(工作表代码)返回Public Sub Worksheet_Change(ByVal Target As Range)If Target.Column = 2 ThenTarget.Offset(, -1) = NowEnd IfEnd Sub▲当指定区域修改时在其右侧的2个单元返回当前日期和时间(工作表代码)返回Public Sub Worksheet_Change(ByVal Target As Range)If Not Application.Intersect(Target, [A1:A1000]) Is Nothing ThenIf Target.Column = 1 ThenTarget.Offset(, 1) = DateTarget.Offset(, 2) = TimeEnd IfEnd IfEnd SubPublic Sub Worksheet_Change(ByVal Target As Range)If Not Application.Intersect(Target, [A1:A1000]) Is Nothing ThenIf Target.Column = 1 ThenTarget.Offset(, 1) = Format(Now(), "yyyy-mm-dd")Target.Offset(, 2) = Format(Now(), "h:mm:ss")End IfEnd IfEnd Sub▲指定单元显示光标位置内容(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal T As Range)Sheets(1).Range("A1") = SelectionEnd Sub▲每编辑一个单元保存文件返回Private Sub Worksheet_Change(ByVal Target As Range)ThisWorkbook.SaveEnd Sub▲指定允许编辑区域返回Sub 指定允许编辑区域()ActiveSheet.ScrollArea = "B8:G15"End Sub▲解除允许编辑区域限制返回Sub 解除允许编辑区域限制()ActiveSheet.ScrollArea = ""End Sub▲删除指定行返回Sub 删除指定行()Workbooks("临时表").Sheets("表2").Range("5:5").DeleteEnd Sub▲删除A列为指定内容的行返回Sub 删除A列为指定内容的行()Dim a, b As Integera = Sheet1.[a65536].End(xlUp).RowFor b = a To 2 Step -1If Cells(b, 1).Value = "删除" ThenRows(b).DeleteEnd IfNextEnd Sub▲删除A列非数字单元行返回Sub 删除A列非数字单元行()i = [a65536].End(xlUp).RowRange("A1:A" & i).SpecialCells(xlCellTypeConstants, 2).EntireRow.DeleteEnd Sub▲有条件删除当前行返回Sub 有条件删除当前行()If [A1] = 2 Or [B1] = "删除" ThenSelection.Delete Shift:=xlUpEnd IfEnd Sub▲选择下一行返回Sub 选择下一行()ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.SelectEnd Sub▲选择第5行开始所有数据行返回Sub 选择第5行开始所有数据行A()Dim i%i = Cells.Find("*", SearchOrder:=xlByRows, LookIn:=xlValues,SearchDirection:=xlPrevious).EntireRow.RowRows("5:" & i).SelectEnd SubSub 选择第5行开始所有数据行B()Rows("5:" & Cells.Find("*", , , , 1, 2).Row).SelectEnd Sub▲选择光标或选区所在行返回Sub 选择光标或选区所在行()Selection.EntireRow.Select▲选择光标或选区所在列返回Sub 选择光标或选区所在列()Selection.EntireColumn.SelectEnd Sub▲光标定位到名称指定位置返回Sub 定位()Application.Goto Range(Evaluate("名称"))End Sub▲选择名称定义的数据区返回Sub 选择名称定义的数据区()[数据区].Select '插入名称要使用INDIRECT函数'Range("数据区").Select 或者'Sheet1.Range("数据区").Select 或者End Sub▲选择到指定列的最后行返回Sub 选择到指定列的最后行()Range("C4:G" & [G65536].End(xlUp).Row).SelectEnd Sub▲将Sheet1的A列的非空值写到Sheet2的A列返回Sub 将Sheet1的A列的非空值写到Sheet2的A列()Sheet1.Columns("A:A").SpecialCells(2, 23).SpecialCells(12).Copy Sheet2.[A1]End Sub▲将名称1的数据写到名称2返回Sub Macro2()Range("位置2") = Range("位置1").Value▲单元反选返回Sub 单元反选()Application.DisplayAlerts = FalseApplication.ScreenUpdating = FalseDim raddress As String, taddress As Stringraddress = Selection.Addresstaddress = edRange.AddressWith Sheets.Add.Range(taddress) = 0.Range(raddress) = "=0"raddress = .Range(taddress).SpecialCells(xlCellTypeConstants, 1).Address.DeleteEnd WithActiveSheet.Range(raddress).SelectApplication.ScreenUpdating = TrueEnd Sub▲调整选中对象中的文字返回Sub 调整选中对象中的文字()'文字居中、自动调整大小With Selection.HorizontalAlignment = xlCenter.VerticalAlignment = xlCenter.ReadingOrder = xlContext.Orientation = xlHorizontal.AutoSize = True.AddIndent = FalseEnd WithEnd Sub▲去除指定范围内的对象返回Sub 去除指定范围内的对象()。
vba常用代码大全

前言我们平时在工作表单元格的公式中常常使用函数,Excel自带的常用的函数多达300多个,功能强大,丰富多彩,但是在VBA中不能直接应用,必须在函数名前面加上对象,比如:Application.WorksheetFunction.Sum(arg1,arg2,arg3)。
而能在VBA中直接应用的函数也有几十个,下面将逐一详细介绍常用的40个VBA 函数,以供大家学习参考。
第1.1例 ASC函数一、题目:要求编写一段代码,运行后得到字符串”Excel”的首字母和”e”的ASCII 值。
二、代码:Sub 示例_1_01()Dim myNum1%, myNum2%myNum1 = Asc("Excel") '返回69myNum2 = Asc("e") '返回101[a1] = "myNum1= ": [b1] = myNum1[a2] = "myNum2= ": [b2] = myNum2End Sub三、代码详解1、Sub 示例_1_01():宏程序的开始语句。
2、Dim myNum1%, myNum2%:变量myNum1和myNum2声明为整型变量。
也可以写为 Dim myNum1 As Integer 。
Integer 变量存储为 16位(2 个字节)的数值形式,其范围为 -32,768 到 32,767 之间。
Integer 的类型声明字符是百分比符号 (%)。
3、myNum1 = Asc("Excel"):把Asc函数的值赋给变量myNum1。
Asc函数返回一个 Integer,代表字符串中首字母的字符的ASCII代码。
语法Asc(string)必要的 string(字符串)参数可以是任何有效的字符串表达式。
如果 string 中没有包含任何字符,则会产生运行时错误。
4、myNum2 = Asc("e"):把Asc函数的值赋给变量myNum2。
vba常用代码大全(最新整理)

前言我们平时在工作表单元格的公式中常常使用函数,Excel自带的常用的函数多达300多个,功能强大,丰富多彩,但是在VBA中不能直接应用,必须在函数名前面加上对象,比如:Application.WorksheetFunction.Sum(arg1,arg2,arg3)。
而能在VBA中直接应用的函数也有几十个,下面将逐一详细介绍常用的40个VBA函数,以供大家学习参考。
第1.1例 ASC函数一、题目: 要求编写一段代码,运行后得到字符串”Excel”的首字母和”e”的ASCII值。
二、代码:Sub 示例_1_01()Dim myNum1%, myNum2%myNum1 = Asc("Excel") '返回69myNum2 = Asc("e") '返回101[a1] = "myNum1= ": [b1] = myNum1[a2] = "myNum2= ": [b2] = myNum2End Sub三、代码详解1、Sub 示例_1_01():宏程序的开始语句。
2、Dim myNum1%, myNum2%:变量myNum1和myNum2声明为整型变量。
也可以写为 Dim myNum1 As Integer 。
Integer 变量存储为 16位(2 个字节)的数值形式,其范围为 -32,768 到 32,767 之间。
Integer 的类型声明字符是百分比符号(%)。
3、myNum1 = Asc("Excel"):把Asc函数的值赋给变量myNum1。
Asc函数返回一个 Integer,代表字符串中首字母的字符的ASCII代码。
语法Asc(string)必要的 string(字符串)参数可以是任何有效的字符串表达式。
如果 string 中没有包含任何字符,则会产生运行时错误。
4、myNum2 = Asc("e"):把Asc函数的值赋给变量myNum2。
EXCEL常用VBA代码

删除B列中字符串数值少于21的单元格所在的行Sub 删除行()r = Range("B65536").End(xlUp).Row '行数For h = r To 1 Step -1If Cells(h, 2) < 21 Then Cells(h, 2).EntireRow.DeleteNextEnd Sub-------------------------【工作表合并】将同一工作簿中的所有工作表合并到一个工作表中新建一个工作表,写入代码[在新建的工作表标签处右键查看代码(找不到的直接按一下alt+F11) 把下面的代码复制进去然后点上面的运行运行子程序即可]:Sub 合并当前工作簿下的所有工作表()Application.ScreenUpdating = FalseFor j = 1 To Sheets.CountIf Sheets(j).Name <> ThenX = Range("A65536").End(xlUp).Row + 1Sheets(j).UsedRange.Copy Cells(X, 1)End IfNextRange("B1").SelectApplication.ScreenUpdating = TrueMsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"End Sub*********************************************************代码这样写也行:Sub c()For i = Sheets.Count To 2 Step -1Sheets(i).SelectSheets(i).UsedRange.CopySheets(1).SelectCells(Cells(65000, 1).End(xlUp).Row + 1, 1).SelectActiveSheet.Paste'Sheets(i).DeleteNext iEnd Sub************************************************************把一个工作簿中的所有表单合并成一个表单,怎么去掉重复的表头、标题行?方法如下:Sub c()For i = Sheets.Count To 2 Step -1Sheets(i).UsedRange.Offset(1).Copy Sheets(1).Cells(65536, 1).End(xlUp).Offset(1) Next iEnd Sub说明:函数OFFSET(reference,rows,cols,height,width)以指定的引用为参照系,通过给定偏移量得到新的引用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
21-1 使用工作表的名称this.Application.Worksheets["工作表2"].Activate();21-2 使用工作的索引号this.Application.Worksheets[2].Activate();21-3 使用工作表的代码名称MessageBox.Show(this.Application.ActiveSheet.CodeName);21-4 用ActiveSheet属性引用活动工作表this.Application.Worksheets[2].Select();MessageBox.Show( );22-1 选择工作表的方法this.Application.Worksheets[2].Select();this.Application.Worksheets[2].Activate();23-1 使用For遍历工作表int wkCount = this.Application.Worksheets.Count;string s = string.Empty;for (int i = 1; i <= wkCount; i++){s = s + this.Application.Worksheets[i].Name + "\n";}MessageBox.Show("工作簿中含有以下工作表:" + "\n" + s);23-2 使用ForEach语句string s = string.Empty;foreach (Excel.Worksheet wk in this.Application.Worksheets) {s = s + + "\n";}MessageBox.Show("工作簿中含有以下工作表:" + "\n" + s);24-1 在工作表中向下翻页Excel.Sheets shs=Globals.ThisWorkbook.Worksheets; Excel.Worksheet wkThis = shs.Application.ActiveSheet; Excel.Worksheet wkNext;int wkIndex = wkThis.Index;int wkCount = shs.Count;if (wkIndex < wkCount){wkNext = (Excel.Worksheet)wkThis.Next;wkNext.Select();}25-1 工作表的添加与删除Excel.Sheets wksThis = this.Application.Worksheets;Excel.Worksheet wsAdd = this.Application.Worksheets.Add(System.Type.Missing, wksThis[wksThis.Count]); = "数据";25-1 批量添加工作表Excel.Sheets wksThis = this.Application.Worksheets;Excel.Worksheet wksNew = null;if (wksThis.Count <= 3){for (int i = 1; i <= 10; i++){wksNew = wksThis.Add(System.Type.Missing, wksThis[wksThis.Count]); = "第" + i.ToString() + "个工作表";}}26-1 禁止删除指定工作表mandBarControl cmdCtl =mandBars[41].Controls[2];可以找到删除按钮,但是无法禁止,也无法加载单击事件,非常奇怪.而且在Office 2010里,也无法禁用某个按钮,但是整个菜单是可以的.27-1 自动建立工作表目录int i = this.Application.Worksheets.Count;for (int n = 1; n <= i; n++){this.Cells[n+1, 1].Value = this.Application.Worksheets[n].Name;}27-1 建立工作表链接int m = this.Application.Worksheets.Count;if (Target.Count == 1){if (Target.Column==1){if (Target.Row>1 && Target.Row<=(m+1)){this.Application.Sheets[Target.Value].Select();}}}28-1 工作表的深度隐藏this.Application.Sheets[2].Visible = Excel.XlSheetVisibility.xlSheetVeryHidden;29-1 防止更改工作表的名称void ThisWorkbook_BeforeClose(ref bool Cancel){if (this.Sheets[1].Name != "Excel Home"){this.Sheets[1].Name = "Excel Home";}this.Save();}30-1 工作表中一次插入多行Excel.Range rng = this.Rows[3];rng.Resize[3].Insert();31-1 删除工作表中的空行Excel.Range rng = edRange;int rngEnd = this.Cells[rng.Rows.Count,rng.Columns.Count].End[Excel.XlDirection.xlUp].Row;for (int i = rngEnd; i >=1; i++){if (this.Application.WorksheetFunction.CountA(this.Rows[i]) == 0){this.Rows[i].Delete();}}32-1 删除工作表的重复行int rngEnd = this.Range["A65535"].End[Excel.XlDirection.xlUp].Row;for (int i = rngEnd; i>=1; i--){if (this.Application.WorksheetFunction.CountIf(this.Columns[1], this.Cells[i, 1]) > 1){this.Rows[i].Delete();}}33-1 定位删除特定内容所在的行(删除A列中包含”Excel”字符的行this.Application.DisplayAlerts = false;int rngEnd = this.Range["A65535"].End[Excel.XlDirection.xlUp].Row;string str = "Excel.*";for (int i = rngEnd; i >= 1; i--){Excel.Range rng = this.Cells[i, 1];if (Regex.IsMatch(rng.Text, str)){this.Rows[i].Delete();}}注:需引用using System.Text.RegularExpressions;34-1 判断是否选中整行int i = this.Columns.Count;Excel.Range rng = this.Application.Selection;if (rng.Columns.Count == i){MessageBox.Show("你选中了一整行");}else{MessageBox.Show("你没有选中了一整行");}35-1 限制工作表的滚动区域this.ScrollArea = "B4:H12";36-1 复制自动筛选后的数据区域this.Application.Worksheets[2].Cells.Clear();if (this.FilterMode){this.AutoFilter.Range.SpecialCells(Excel.XlCellType.xlCellTypeVisible).Copy( this.Application.Worksheets[2].Cells[1, 1]);}37-1 使用高级筛选获得不重复记录Excel.Range rngSheet2 = this.Application.Worksheets[2].Cells;rngSheet2.Clear();this.Range["A1"].CurrentRegion.AdvancedFilter(Excel.XlFilterAction.xlFilterCopy,System.Type.Missing,this.Application.Worksheets[2].Cells[1, 1],true);38-1 工作表的保护与解除保护this.Unprotect("12345");this.Cells[1,1].Value=100;this.Protect("12345");39-1 奇偶页打印int pg = this.PageSetup.Pages.Count;for (int i = 1; i <= pg; i=i+2){this.PrintOutEx(1, i);}40-1 使用工作簿的名称string str = this.Application.Workbooks["工作簿的引用方法.xlsx"].Path;MessageBox.Show(str);40-3 使用ThisWorkbookthis.Application.ThisWorkbook.Close(false);40-4 使用ActiveWorkbookMessageBox.Show();41-1 新建工作簿Excel.Workbook Nowbook;string[] shName = new string[4] { "余额", "单价", "数量", "金额" };string[] arr = new string[12] { "01月", "02月", "03月", "04月", "05月", "06月", "07月", "08月", "09月", "10月", "11月", "12月" };this.Application.SheetsInNewWorkbook = 4;Nowbook = this.Application.Workbooks.Add();for (int i = 1; i <= 4; i++){Nowbook.Sheets[i].Name = shName[i - 1];Nowbook.Sheets[i].Range["B1"].Resize[1, arr.Length] = arr;Nowbook.Sheets[i].Range["B2"] = "品名";}Nowbook.SaveAs("C:\\" +"存货明细.xlsx");Nowbook.Close(true);42-1 打开指定的工作簿int wkCount = this.Application.Workbooks.Count;for (int i = 1; i <= wkCount; i++){if (this.Application.Workbooks[i].Name == "123.xlsx"){MessageBox.Show("123工作簿已经打开");}}this.Application.Workbooks.Open("C:\\" + "123.xlsx");。