首页 EXCEL个常用宏,非常实用

EXCEL个常用宏,非常实用

举报
开通vip

EXCEL个常用宏,非常实用目录 代码目录 链接 类别 EH帖子地址 http://club.excelhome.net/dispbbs.asp?boardid=4&id=239820 打开全部隐藏工作表 点击 工作表 循环宏 点击 宏管理 录制宏时调用“停止录制”工具栏 点击 其他 高级筛选5列不重复数据至指定表 点击 筛选 双击单元执行宏(工作表代码) 点击 宏管理 双击指定区域单元执行宏(工作表代码) 点击 宏管理 进入单元执行宏(工作表代码) 点击 宏管理 进入指定区域单元执行宏(工作表代码) 点击...

EXCEL个常用宏,非常实用
目录 代码目录 链接 类别 EH帖子地址 http://club.excelhome.net/dispbbs.asp?boardid=4&id=239820 打开全部隐藏工作 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 点击 工作表 循环宏 点击 宏管理 录制宏时调用“停止录制”工具栏 点击 其他 高级筛选5列不重复数据至指定表 点击 筛选 双击单元执行宏(工作表代码) 点击 宏管理 双击指定区域单元执行宏(工作表代码) 点击 宏管理 进入单元执行宏(工作表代码) 点击 宏管理 进入指定区域单元执行宏(工作表代码) 点击 宏管理 在多个宏中依次循环执行一个(控件按钮代码) 点击 宏管理 在两个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码) 点击 宏管理 在三个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码) 点击 宏管理 根据A1单元文本隐藏/显示按钮(控件按钮代码) 点击 控件 当前单元返回按钮名称(控件按钮代码) 点击 控件 当前单元内容返回到按钮名称(控件按钮代码) 点击 控件 奇偶页分别打印 点击 打印 自动打印多工作表第一页 点击 打印 查找A列文本循环插入分页符 点击 打印 将A列最后数据行以上的所有B列图片大小调整为所在单元大小 点击 对象 返回光标所在行数 点击 查找和引用 在A1返回当前选中单元格数量 点击 查找和引用 返回当前工作簿中工作表数量 点击 查找和引用 返回光标选择区域的行数和列数 点击 查找和引用 工作表中包含数据的最大行数 点击 查找和引用 返回A列数据的最大行数 点击 查找和引用 将所选区域文本插入新建文本框 点击 对象 批量插入地址批注 点击 批注 批量插入统一批注 点击 批注 以A1单元内容批量插入批注 点击 批注 不连续区域插入当前文件名和表名及地址 点击 单元赋值 不连续区域录入当前单元地址 点击 单元赋值 连续区域录入当前单元地址 点击 单元赋值 返回当前单元地址 点击 单元赋值 不连续区域录入当前日期 点击 单元赋值 不连续区域录入当前数字日期 点击 单元赋值 不连续区域录入当前日期和时间 点击 单元赋值 不连续区域录入对勾 点击 单元赋值 不连续区域录入当前文件名 点击 单元赋值 不连续区域添加文本 点击 单元赋值 不连续区域插入文本 点击 单元赋值 从指定位置向下同时录入多单元指定内容 点击 单元赋值 按aa工作表A列的内容排列工作表标签顺序 点击 工作表 以A1单元文本作表名插入工作表 点击 工作表 删除全部未选定工作表 点击 工作表 工作表标签排序 点击 工作表 定义指定工作表标签颜色 点击 工作表 在目录表建立本工作簿中各表链接目录 点击 文件管理 建立工作表文本目录 点击 工作表 查另一文件的全部表名 点击 工作表 当前单元录入计算机名 点击 单元赋值 当前单元录入计算机用户名 点击 单元赋值 解除全部工作表保护 点击 工作表 为指定工作表加指定密码保护表 点击 密码 在有密码的工作表执行代码 点击 密码 执行前需要验证密码的宏(控件按钮代码) 点击 密码 拷贝A1公式和格式到A2 点击 单元赋值 复制单元数值 点击 单元赋值 插入数值条件格式 点击 格式 插入透明批注 点击 批注 添加文本 点击 单元赋值 光标定位到指定工作表A列最后数据行下一单元 点击 定位 定位选定单元格式相同的全部单元格 点击 定位 按当前单元文本定位 点击 定位 按固定文本定位 点击 定位 删除包含固定文本单元的行或列 点击 定位 定位数据及区域以上的空值 点击 定位 右侧单元自动加5(工作表代码) 点击 单元赋值 当前单元加2 点击 单元赋值 A列等于A列减B列 点击 单元赋值 用于光标选定多区域跳转指定单元(工作表代码) 点击 定位 将A1单元录入的数据累加到B1单元(工作表代码) 点击 单元赋值 在指定颜色区域选择单元时添加/取消"√"(工作表代码) 点击 单元赋值 在指定区域选择单元时添加/取消"√"(工作表代码) 点击 单元赋值 双击指定单元,循环录入文本(工作表代码) 点击 单元赋值 单元区域引用(工作表代码) 点击 单元赋值 在指定区域选择单元时数值加1(工作表代码) 点击 单元赋值 混合文本的编号 点击 单元赋值 指定区域单元双击数据累加(工作表代码) 点击 单元赋值 选择单元区域触发事件(工作表代码) 点击 事件 当修改指定单元内容时自动执行宏(工作表代码) 点击 事件 被指定单元内容限制执行宏 点击 事件 双击单元隐藏该行(工作表代码) 点击 事件 高亮显示行(工作表代码) 点击 其他 高亮显示行和列(工作表代码) 点击 其他 为指定工作表设置滚动范围(工作簿代码) 点击 定位 在指定单元记录打印和预览次数(工作簿代码) 点击 打印 自动数字金额转大写(工作表代码) 点击 单元赋值 将全部工作表的A1单元作为单击按钮(工作簿代码) 点击 对象 闹钟——到指定时间执行宏(工作簿代码) 点击 事件 改变Excel界面标题的宏(工作簿代码) 点击 其他 在指定工作表的指定单元返回光标当前多选区地址(工作簿代码) 点击 信息 B列录入数据时在A列返回记录时间(工作表代码) 点击 事件 当指定区域修改时在其右侧的2个单元返回当前日期和时间(工作表代码) 点击 单元赋值 指定单元显示光标位置内容(工作表代码) 点击 单元赋值 每编辑一个单元保存文件 点击 事件 指定允许编辑区域 点击 编辑 解除允许编辑区域限制 点击 编辑 删除指定行 点击 行列操作 删除A列为指定内容的行 点击 行列操作 删除A列非数字单元行 点击 行列操作 有条件删除当前行 点击 行列操作 选择下一行 点击 定位 选择第5行开始所有数据行 点击 定位 选择光标或选区所在行 点击 定位 选择光标或选区所在列 点击 定位 光标定位到名称指定位置 点击 名称 选择名称定义的数据区 点击 名称 选择到指定列的最后行 点击 定位 将Sheet1的A列的非空值写到Sheet2的A列 点击 单元赋值 将名称1的数据写到名称2 点击 名称 单元反选 点击 定位 调整选中对象中的文字 点击 格式 去除指定范围内的对象 点击 对象 更新透视表数据项 点击 数据 将全部工作表名称写到A列 点击 单元赋值 为当前选定的多单元插入指定名称 点击 名称 删除全部名称 点击 名称 以指定区域为表目录补充新表 点击 工作表 按A列数据批量修改表名称 点击 工作表 按A列数据批量创建新表(控件按钮代码) 点击 工作表 清除剪贴板 点击 其他 批量清除软回车 点击 其他 判断指定文件是否已经打开 点击 事件 当前文件另存到指定目录 点击 文件管理 另存指定文件名 点击 文件管理 以本工作表名称另存文件到当前目录 点击 文件管理 将本工作表单独另存文件到Excel当前默认目录 点击 文件管理 以活动工作表名称另存文件到Excel当前默认目录 点击 文件管理 另存所有工作表为工作簿 点击 文件管理 以指定单元内容为新文件名另存文件 点击 文件管理 以当前日期为新文件名另存文件 点击 文件管理 以当前日期和时间为新文件名另存文件 点击 文件管理 另存本表为TXT文件 点击 文件管理 引用指定位置单元内容为部分文件名另存文件 点击 文件管理 将A列数据排序到D列 点击 单元赋值 将指定范围的数据排列到D列 点击 单元赋值 光标移动 点击 定位 光标所在行上移一行 点击 行列操作 加数据有效限制 点击 数据 取消数据有效限制 点击 数据 重排窗口 点击 窗口 按当前单元文本选择打开指定文件单元 点击 定位 回车光标向右 点击 定位 回车光标向下 点击 定位 保护工作表时取消选定锁定单元 点击 工作表 保存并退出Excel 点击 文件管理 隐藏/显示指定列空值行 点击 行列操作 深度隐藏指定工作表 点击 工作表 隐藏指定工作表 点击 工作表 隐藏当前工作表 点击 工作表 返回当前工作表名称 点击 工作表 获取上一次所进入工作簿的工作表名称 点击 工作表 按光标选定颜色隐藏本列其他颜色行 点击 格式 打开工作簿自动隐藏录入表以外的其他表 点击 工作表 除最左边工作表外深度隐藏所有表 点击 工作表 关闭文件时自动隐藏指定工作表(ThisWorkbook) 点击 工作表 打开文件时提示指定工作表是保护状态(ThisWorkbook) 点击 工作表 插入10行 点击 行列操作 全选固定范围内小于0的单元 点击 定位 全选选定范围内小于0的单元 点击 定位 固定区域单元分类变色 点击 格式 A列半角内容变红 点击 格式 单元格录入数据时运行宏的代码 点击 事件 焦点到A列时运行宏的代码 点击 事件 根据B列最后数据快速合并A列单元格的控件代码 点击 数据 在F1单元显示光标位置批注内容的代码 点击 其他 显示光标所在单元的批注的代码 点击 其他 使单元内容保持不变的工作表代码 点击 单元赋值 有条件执行宏 点击 事件 有条件执行不同的宏 点击 事件 提示确定或取消执行宏 点击 事件 提示开始和结束 点击 事件 拷贝指定表不相邻多列数据到新位置 点击 单元赋值 选择2至4行 点击 定位 在当前选区有条件替换数值为文本 点击 事件 自动筛选全部显示指定列 点击 筛选 自动筛选第2列值为A的行 点击 筛选 取消自动筛选() 点击 筛选 全部显示指定表的自动筛选 点击 筛选 强行合并单元 点击 格式 设置单元区域格式 点击 格式 在所有工作表的A1单元返回顺序号 点击 单元赋值 根据A1单元内容返回C1数值 点击 事件 根据A1内容选择执行宏 点击 事件 删除A列空行 点击 行列操作 在A列产生不重复随机数 点击 单元赋值 将A列数据随机排列到F列 点击 单元赋值 取消选定区域的公式只保留值(假空转真空) 点击 单元赋值 处理导入的显示为科学计数法样式的身份证号 点击 其他 返回指定单元的行高和列宽 点击 信息 指定行高和列宽 点击 格式 指定单元的行高和列宽与A1单元相同 点击 格式 填公式 点击 单元赋值 建立当前工作表的副本为001表 点击 工作表 在第一个表前插入多工作表 点击 工作表 清除A列再插入序号 点击 单元赋值 反方向文本(自定义 关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函 数) 点击 自定义函数 指定选择单元区域弹出消息 点击 信息 将B列数据添加超链接到K列 点击 超链接 删除B列数据的超链接 点击 超链接 分离临时表A列数据的文本和超链接并整理到数据库表 点击 超链接 分离临时表A列数据的文本和超链接并会同其他数据整理到数据库表 点击 超链接 返回A列最后一个非空单元行号 点击 查找和引用 返回表中第一个非空单元地址(行搜索) 点击 查找和引用 返回表中各非空单元区域地址(行搜索) 点击 查找和引用 返回第一个数值行号 点击 查找和引用 返回第1行最右边非空单元的列号 点击 查找和引用 返回连续数值单元的数量 点击 查找和引用 统计指定范围和内容的单元数量 点击 查找和引用 统计不同颜色的数字的和(自定义函数) 点击 查找和引用 返回非空单元数量 点击 查找和引用 返回A列非空单元数量 点击 查找和引用 返回圆周率π 点击 其他 定义指定单元内容为页眉/页脚 点击 打印 提示并全部清除当前选择区域 点击 单元赋值 全部清除当前选择区域 点击 单元赋值 清除指定区域数值 点击 单元赋值 对指定工作表执行取消隐藏》打印》隐藏工作表 点击 打印 打开文件时执行指定宏(工作簿代码) 点击 事件 关闭文件时执行指定宏(工作簿代码) 点击 事件 弹出提示A1单元内容 点击 信息 延时15秒执行重排窗口宏 点击 事件 撤消工作表保护并取消密码 点击 工作表 重算指定表 点击 工作表 将第5行移到窗口的最上面 点击 窗口 对第一张工作表的指定区域进行排序 点击 单元赋值 显示指定工作表的打印预览 点击 打印 用单元格A1的内容作为文件名另存当前工作簿 点击 文件管理 [禁用/启用]保存和另存的代码 点击 文件管理 在A和B列返回当前选区的名称和公式 点击 单元赋值 朗读朗读A列,按ESC键中止 点击 语音 朗读固定语句,请按ESC键终止 点击 语音 在M和N列的14行以下选择单元时显示调用日历控件(工作表代码) 点击 对象 添加自定义序列 点击 其他 弹出打印对话框 点击 打印 返回总页码 点击 打印 合并各工作表内容 点击 事件 合并指定目录中所有文件中相同格式工作表的数据 点击 事件 隐藏指定工作表的指定列 点击 工作表 把a列不重复值取到e列 点击 查找和引用 当前选区的行列数 点击 查找和引用 单元格录入1位字符就跳转(工作表代码) 点击 工作表 当指定日期(每月10日)打开文件执行宏 点击 事件 提示并清空单元区域 点击 事件 返回光标所在行号 点击 其他 VBA返回公式结果 点击 其他 按照当前行A列的图片名称插入图片到H列 点击 图片 当前行下插入1行 点击 工作表 取消指定行或列的隐藏 点击 工作表 复制单元格所在行 点击 其他 复制单元格所在列 点击 其他 新建一个工作表 点击 工作表 新建一个工作簿 点击 工作簿 选择多表为工作组 点击 工作表 在当前工作组各表中分别执行指定宏 点击 事件 复制当前工作簿的 报表 企业所得税申报表下载财务会计报表下载斯维尔报表下载外贸周报表下载关联申报表下载 到临时工作簿 点击 工作簿 删除指定文件 点击 工作簿 合并A1至C1的内容写到D15单元的批注中 点击 批注 自动重算 点击 其他 手动重算 点击 其他登录http://club.excelhome.net/dispbbs.asp?boardid=4&id=239820代码 宏文件集 ▲ 打开全部隐藏工作表 返回 Sub打开全部隐藏工作表() DimiAsInteger Fori=1ToSheets.Count Sheets(i).Visible=True Nexti EndSub ▲ 循环宏 返回 Sub循环() AAA=Range("C2") DimiAsLong DimtimesAsLong times=AAA 'times代表循环次数,执行前把times赋值即可(不可小于1,不可大于2147483647) Fori=1Totimes Call过滤一行 IfRange("完成标志")="完成"ThenExitFor'如果名为'完成标志'的命名单元的值等于'完成',则退出循环,如果一开始就等于'完成',则只执行一次循环就退出 'IfSheets("传送参数").Range("A"&i).Text="完成"ThenExitFor'如果某列出现"完成"内容则退出循环 Nexti EndSub ▲ 录制宏时调用“停止录制”工具栏 返回 Sub录制宏时调用停止录制工具栏() Application.CommandBars("StopRecording").Visible=True EndSub ▲ 高级筛选5列不重复数据至指定表 返回 Sub高级筛选5列不重复数据至Sheet2() Sheets("Sheet2").Range("A1:E65536")=""'清除Sheet2的A:D列 Range("A1:E65536").AdvancedFilterAction:=xlFilterCopy,CopyToRange:=Sheet2.Range(_ "A1"),Unique:=True Sheet2.Columns("A:E").SortKey1:=Sheet2.Range("A2"),Order1:=xlAscending,Header:=xlGuess,_ OrderCustom:=1,MatchCase:=False,Orientation:=xlTopToBottom,SortMethod_ :=xlPinYin EndSub ▲ 双击单元执行宏(工作表代码) 返回 PrivateSubWorksheet_BeforeDoubleClick(ByValTargetAsRange,CancelAsBoolean) IfRange("$A$1")="关闭"ThenExitSub SelectCaseTarget.Address Case"$A$4" Call宏1 Cancel=True Case"$B$4" Call宏2 Cancel=True Case"$C$4" Call宏3 Cancel=True Case"$E$4" Call宏4 Cancel=True EndSelect EndSub ▲ 双击指定区域单元执行宏(工作表代码) 返回 PrivateSubWorksheet_BeforeDoubleClick(ByValTargetAsRange,CancelAsBoolean) IfRange("$A$1")="关闭"ThenExitSub IfNotApplication.Intersect(Target,Range("A4:A9","C4:C9"))IsNothingThenCall打开隐藏表 EndSub ▲ 进入单元执行宏(工作表代码) 返回 PrivateSubWorksheet_SelectionChange(ByValTargetAsRange) '以单元格进入代替按钮对象调用宏 IfRange("$A$1")="关闭"ThenExitSub SelectCaseTarget.Address Case"$A$5"'单元地址(Target.Address),或命名单元名字(Target.Name) Call宏1 Case"$B$5" Call宏2 Case"$C$5" Call宏3 EndSelect EndSub ▲ 进入指定区域单元执行宏(工作表代码) 返回 PrivateSubWorksheet_SelectionChange(ByValTargetAsRange) IfRange("$A$1")="关闭"ThenExitSub IfNotApplication.Intersect(Target,Range("A4:A9","C4:C9"))IsNothingThenCall打开隐藏表 EndSub ▲ 在多个宏中依次循环执行一个(控件按钮代码) 返回 PrivateSubCommandButton1_Click() StaticRunMacroAsInteger SelectCaseRunMacro Case0 宏1 RunMacro=1 Case1 宏2 RunMacro=2 Case2 宏3 RunMacro=0 EndSelect EndSub ▲ 在两个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码) 返回 PrivateSubCommandButton1_Click() WithCommandButton1 If.Caption="保护工作表"Then Call保护工作表 .Caption="取消工作表保护" ExitSub EndIf If.Caption="取消工作表保护"Then Call取消工作表保护 .Caption="保护工作表" ExitSub EndIf EndWith EndSub ▲ 在三个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码) 返回 OptionExplicit PrivateSubCommandButton1_Click() WithCommandButton1 If.Caption="宏1"Then Call宏1 .Caption="宏2" ExitSub EndIf If.Caption="宏2"Then Call宏2 .Caption="宏3" ExitSub EndIf If.Caption="宏3"Then Call宏3 .Caption="宏1" ExitSub EndIf EndWith EndSub ▲ 根据A1单元文本隐藏/显示按钮(控件按钮代码) 返回 PrivateSubWorksheet_SelectionChange(ByValTargetAsRange) IfRange("A1")>2Then CommandButton1.Visible=1 Else CommandButton1.Visible=0 EndIf EndSub PrivateSubCommandButton1_Click() 重排窗口 EndSub ▲ 当前单元返回按钮名称(控件按钮代码) 返回 PrivateSubCommandButton1_Click() ActiveCell=CommandButton1.Caption EndSub ▲ 当前单元内容返回到按钮名称(控件按钮代码) 返回 PrivateSubCommandButton1_Click() CommandButton1.Caption=ActiveCell EndSub ▲ 奇偶页分别打印 返回 Sub奇偶页分别打印() Dimi%,Ps% Ps=ExecuteExcel4Macro("GET.DOCUMENT(50)")'总页数 MsgBox"现在打印奇数页,按确定开始." Fori=1ToPsStep2 ActiveSheet.PrintOutfrom:=i,To:=i Nexti MsgBox"现在打印偶数页,按确定开始." Fori=2ToPsStep2 ActiveSheet.PrintOutfrom:=i,To:=i Nexti EndSub ▲ 自动打印多工作表第一页 返回 Sub自动打印多工作表第一页() DimshAsInteger Dimx Dimy Dimsy Dimsyz x=InputBox("请输入起始工作表名字:") sy=InputBox("请输入结束工作表名字:") y=Sheets(x).Index syz=Sheets(sy).Index Forsh=yTosyz Sheets(sh).Select Sheets(sh).PrintOutfrom:=1,To:=1 Nextsh EndSub ▲ 查找A列文本循环插入分页符 返回 Sub循环插入分页符() 'Selection=Workbooks("临时表").Sheets("表2").Range("A1")调用指定地址内容 DimiAsLong DimtimesAsLong times=Application.WorksheetFunction.CountIf(Sheet1.Range("a:a"),"分页") 'times代表循环次数,执行前把times赋值即可(不可小于1,不可大于2147483647) Fori=1Totimes Call插入分页符 Nexti EndSub Sub插入分页符() Cells.Find(What:="分页",After:=ActiveCell,LookIn:=xlValues,LookAt:=_ xlPart,SearchOrder:=xlByRows,SearchDirection:=xlNext,MatchCase:=False)_ .Activate ActiveWindow.SelectedSheets.HPageBreaks.AddBefore:=ActiveCell EndSub Sub取消原分页() Cells.Select ActiveSheet.ResetAllPageBreaks EndSub ▲ 将A列最后数据行以上的所有B列图片大小调整为所在单元大小 返回 Sub将A列最后数据行以上的所有B列图片大小调整为所在单元大小() DimPicAsPicture,i& i=[A65536].End(xlUp).Row ForEachPicInSheet1.Pictures IfNotApplication.Intersect(Pic.TopLeftCell,Range("B1:B"&i))IsNothingThen Pic.Top=Pic.TopLeftCell.Top Pic.Left=Pic.TopLeftCell.Left Pic.Height=Pic.TopLeftCell.Height Pic.Width=Pic.TopLeftCell.Width EndIf Next EndSub ▲ 返回光标所在行数 返回 Sub返回光标所在行数() x=ActiveCell.Row Range("A1")=x EndSub ▲ 在A1返回当前选中单元格数量 返回 Sub在A1返回当前选中单元格数量() [A1]=Selection.Count EndSub ▲ 返回当前工作簿中工作表数量 返回 Sub返回当前工作簿中工作表数量() t=Application.Sheets.Count MsgBoxt EndSub ▲ 返回光标选择区域的行数和列数 返回 Sub返回光标选择区域的行数和列数() x=Selection.Rows.Count y=Selection.Columns.Count Range("A1")=x Range("A2")=y EndSub ▲ 工作表中包含数据的最大行数 返回 Sub包含数据的最大行数() n=Cells.Find("*",,,,1,2).Row MsgBoxn EndSub ▲ 返回A列数据的最大行数 返回 Sub返回A列数据的最大行数() n=Range("a65536").End(xlUp).Row Range("B1")=n EndSub ▲ 将所选区域文本插入新建文本框 返回 Sub将所选区域文本插入新建文本框() ForEachragInSelection n=n&rag.Value&Chr(10) Next ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal,ActiveCell.Left+ActiveCell.Width,ActiveCell.Top+ActiveCell.Height,250#,100).Select Selection.Characters.Text="问题:"&n WithSelection.Characters(Start:=1,Length:=3).Font .Name="黑体" .FontStyle="常规" .Size=12 EndWith EndSub ▲ 批量插入地址批注 返回 Sub批量插入地址批注() OnErrorResumeNext DimrAsRange IfSelection.Cells.Count>0Then ForEachrInSelection r.Comment.Delete r.AddComment r.Comment.Visible=False r.Comment.TextText:="本单元格:"&r.Address&"of"&Selection.Address Next EndIf EndSub ▲ 批量插入统一批注 返回 Sub批量插入统一批注() DimrAsRange,msgAsString msg=InputBox("请输入欲批量插入的批注","提示","随便输点什么吧") IfSelection.Cells.Count>0Then ForEachrInSelection r.AddComment r.Comment.Visible=False r.Comment.TextText:=msg Next EndIf EndSub ▲ 以A1单元内容批量插入批注 返回 Sub以A1单元内容批量插入批注() DimrAsRange IfSelection.Cells.Count>0Then ForEachrInSelection r.AddComment r.Comment.Visible=False r.Comment.TextText:=[a1].Text Next EndIf EndSub ▲ 不连续区域插入当前文件名和表名及地址 返回 Sub批量插入当前文件名和表名及地址() ForEachmycellInSelection mycell.FormulaR1C1="["+ActiveWorkbook.Name+"]"+ActiveSheet.Name+"!"+mycell.Address Next EndSub ▲ 不连续区域录入当前单元地址 返回 Sub区域录入当前单元地址() ForEachmycellInSelection mycell.FormulaR1C1=mycell.Address Next EndSub ▲ 连续区域录入当前单元地址 返回 Sub连续区域录入当前单元地址() Selection="=ADDRESS(ROW(),COLUMN(),4,1)" Selection.Copy Selection.PasteSpecialPaste:=xlPasteValues,Operation:=xlNone,SkipBlanks_ :=False,Transpose:=False EndSub ▲ 返回当前单元地址 返回 Sub返回当前单元地址() d=ActiveCell.Address [A1]=d EndSub ▲ 不连续区域录入当前日期 返回 Sub区域录入当前日期() Selection.FormulaR1C1=Format(Now(),"yyyy-m-d") EndSub ▲ 不连续区域录入当前数字日期 返回 Sub区域录入当前数字日期() Selection.FormulaR1C1=Format(Now(),"yyyymmdd") EndSub ▲ 不连续区域录入当前日期和时间 返回 Sub区域录入当前日期和时间() Selection.FormulaR1C1=Format(Now(),"yyyy-m-dh:mm:ss") EndSub ▲ 不连续区域录入对勾 返回 Sub批量录入对勾() Selection.FormulaR1C1="√" EndSub ▲ 不连续区域录入当前文件名 返回 Sub批量录入当前文件名() Selection.FormulaR1C1=ThisWorkbook.Name EndSub ▲ 不连续区域添加文本 返回 Sub批量添加文本() DimsAsRange ForEachsInSelection s=s&"文本内容" Next EndSub ▲ 不连续区域插入文本 返回 Sub批量插入文本() DimsAsRange ForEachsInSelection s="文本内容"&s Next EndSub ▲ 从指定位置向下同时录入多单元指定内容 返回 Sub从指定位置向下同时录入多单元指定内容() Dimarr arr=Array("1","2","13","25","46","12","0","20") [B2].Resize(8,1)=Application.WorksheetFunction.Transpose(arr) EndSub ▲ 按aa工作表A列的内容排列工作表标签顺序 返回 Sub按aa工作表A列的内容排列工作表标签顺序() DimI%,str1$ I=1 Sheets("aa").Select DoWhileCells(I,1).Value<>"" str1=Trim(Cells(I,1).Value) Sheets(str1).Select Sheets(str1).Moveafter:=Sheets(I) I=I+1 Sheets("aa").Select Loop EndSub ▲ 以A1单元文本作表名插入工作表 返回 Sub以A1单元文本作表名插入工作表() DimnmAsString nm=[a1] Sheets.Add ActiveSheet.Name=nm EndSub ▲ 删除全部未选定工作表 返回 Sub删除全部未选定工作表() DimshtAsWorksheet,nAsInteger,iFlagAsBoolean DimShtName()AsString n=ActiveWindow.SelectedSheets.Count ReDimShtName(1Ton) n=1 ForEachshtInActiveWindow.SelectedSheets ShtName(n)=sht.Name n=n+1 Next Application.DisplayAlerts=False ForEachshtInSheets iFlag=False Fori=1Ton-1 IfShtName(i)=sht.NameThen iFlag=True ExitFor EndIf Next IfNotiFlagThensht.Delete Next Application.DisplayAlerts=True EndSub ▲ 工作表标签排序 返回 Sub工作表标签排序() DimiAsLong,jAsLong,numsAsLong,msgAsLong msg=MsgBox("工作表按升序排列请选'是[Y]'."&vbCrLf&vbCrLf&"工作表按降序排列请选'否[N]'",vbYesNoCancel,"工作表排序") Ifmsg=vbCancelThenExitSub nums=Sheets.Count Ifmsg=vbYesThen'Sortascending Fori=1Tonums Forj=iTonums IfUCase(Sheets(j).Name)<UCase(Sheets(i).Name)Then Sheets(j).MoveBefore:=Sheets(i) EndIf Nextj Nexti Else'Sortdescending Fori=1Tonums Forj=iTonums IfUCase(Sheets(j).Name)>UCase(Sheets(i).Name)Then Sheets(j).MoveBefore:=Sheets(i) EndIf Nextj Nexti EndIf EndSub ▲ 定义指定工作表标签颜色 返回 Sub定义指定工作表标签颜色() Sheets("Sheet1").Tab.ColorIndex=46 EndSub ▲ 在目录表建立本工作簿中各表链接目录 返回 Sub在目录表建立本工作簿中各表链接目录() Dims%,RngAsRange OnErrorResumeNext Sheets("目录").Activate IfErr=0Then Sheets("目录").UsedRange.Delete Else Sheets.Add ActiveSheet.Name="目录" EndIf Fori=1ToSheets.Count IfSheets(i).Name<>"目录"Then s=s+1 SetRng=Sheets("目录").Cells(((s-1)Mod20)+1,(s-1)\20+1+1) Rng=Format(s,"0")&"."&Sheets(i).Name ActiveSheet.Hyperlinks.AddRng,"#"&Sheets(i).Name&"!A1",ScreenTip:=Sheets(i).Name EndIf Next Sheets("目录").Range("b:iv").EntireColumn.ColumnWidth=20 EndSub ▲ 建立工作表文本目录 返回 Sub建立工作表文本目录() Sheets.Addbefore:=Sheets(1) Sheets(1).Name="目录" Fori=2ToSheets.Count Cells(i-1,1)=Sheets(i).Name 'Sheets(1).Hyperlinks.AddCells(i-1,1),"#"&Sheets(i).Name&"!A1"'添加超链接 Next EndSub ▲ 查另一文件的全部表名 返回 Sub查另一文件的全部表名() OnErrorResumeNext Dimi% DimshAsWorksheet Application.ScreenUpdating=False Workbooks.OpenFilename:=ThisWorkbook.Path&"\2.xls" Windows("1.xls").Activate'当前文件名称 Sheets("Sheet1").Select'当前表名称 i=1'将表名称返回到第1行 ForEachshInWorkbooks("2.xls").Worksheets Cells(i,1)=sh.Name'将表名称返回到第1列 i=i+1'返回每个表名称向下移动1行 Nextsh Windows("2.xls").Close'关闭对象文件 Application.ScreenUpdating=True EndSub ▲ 当前单元录入计算机名 返回 Sub当前单元录入计算机名() Selection=Environ("COMPUTERNAME") 'Selection=Workbooks("临时表").Sheets("表2").Range("A1")调用指定地址内容 EndSub ▲ 当前单元录入计算机用户名 返回 Sub当前单元录入计算机用户名() Selection=Environ("Username") 'Selection=Workbooks("临时表").Sheets("表2").Range("A1")调用指定地址内容 EndSub ▲ 解除全部工作表保护 返回 Sub解除全部工作表保护() DimnAsInteger    Forn=1ToSheets.Count        Sheets(n).Unprotect    Nextn EndSub ▲ 为指定工作表加指定密码保护表 返回 Sub为指定工作表加指定密码保护表() Sheet10.ProtectPassword:="123" EndSub ▲ 在有密码的工作表执行代码 返回 Sub在有密码的工作表执行代码() Sheets("1").UnprotectPassword:=123'假定表名为“1”,密码为“123”打开工作表 Range("C:C").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden=True'隐藏C列空值行 Sheets("1").ProtectPassword:=123'重新用密码保护工作表 EndSub ▲ 执行前需要验证密码的宏(控件按钮代码) 返回 PrivateSubCommandButton1_Click() IfInputBox("请输入密码:")<>"123"Then'密码是123 MsgBox"密码错误,按确定退出!",64,"提示" ExitSub EndIf Cells(1,1)=10 EndSub Sub执行前需要验证密码的宏() IfInputBox("请输入您的使用权限:","系统提示")=123Then 重排窗口'要执行的宏代码或宏名称 Else MsgBox"对不起,您没有使用该宏的权限,按确定键后退出!" EndIf EndSub ▲ 拷贝A1公式和格式到A2 返回 Sub拷贝A1公式到A2() Workbooks("临时表").Sheets("表1").Range("A1").Copy Workbooks("临时表").Sheets("表2").Range("A2").PasteSpecial EndSub ▲ 复制单元数值 返回 Sub复制数值() s=Workbooks("book1").Sheets("Sheet1").Range("A1:A2") Workbooks("book2").Sheets("Sheet1").Range("A1:A2")=s EndSub ▲ 插入数值条件格式 返回 Sub插入数值条件格式() Selection.FormatConditions.Delete Selection.FormatConditions.AddType:=xlCellValue,Operator:=xlGreater,_ Formula1:="70" Selection.FormatConditions(1).Interior.ColorIndex=45 Selection.FormatConditions.AddType:=xlCellValue,Operator:=xlLess,_ Formula1:="55" Selection.FormatConditions(2).Interior.ColorIndex=39 Selection.FormatConditions.AddType:=xlCellValue,Operator:=xlGreater,_ Formula1:="60" Selection.FormatConditions(3).Interior.ColorIndex=34 EndSub ▲ 插入透明批注 返回 Sub插入透明批注() Selection.AddComment Selection.Comment.Visible=False DimXSAsWorksheet Fori=1ToActiveSheet.Comments.Count ActiveSheet.Comments(i).Text"透明批注" ActiveSheet.Comments(i).Shape.Fill.Visible=msoFalse Next EndSub ▲ 添加文本 返回 Sub添加文本() Selection=Selection+"×"'不可在数字后添加文本 'Selection=Workbooks("临时表").Sheets("表2").Range("A1")调用指定地址内容 EndSub ▲ 光标定位到指定工作表A列最后数据行下一单元 返回 Sub光标定位到指定工作表A列最后数据行下一单元() a=Sheets("数据库").[a65536].End(xlUp).Row Sheets("数据
本文档为【EXCEL个常用宏,非常实用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥17.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
豆浆
暂无简介~
格式:xls
大小:360KB
软件:Excel
页数:0
分类:小学语文
上传时间:2020-03-08
浏览量:9