财税常用宏RTF
做会计要用到的excel中的“宏”(网络汇总转载)
做会计要用到的excel中的“宏”(网络汇总转载)宏的概念,相信使用过WORD的人都会知道,她可以记录命令和过程,然后将这些命令和过程赋值到一个组合键或工具栏的按钮上,当按下组合键时,计算机就会重复所记录的操作。
在实践工作中,它可以代替经常输入大量重复而又琐碎的数据,具体宏的定义方法如下:(2003)A、打开工作表,在工作表中选中要进行操作的单元格;B、用鼠标单击菜单栏中的“工具”菜单项,并从弹出的下拉菜单中选择“宏”子菜单项,并从随后弹出的下级菜单中选择“录制新宏”命令;C、设定好宏后,我们就可以对指定的单元格,进行各种操作,程序将自动对所进行的各方面操作记录复制。
Excel 2007Excel选项设置宏1.1单击Office按钮,然后单击Excel选项:步骤阅读2.2单击“信任中心”,单击“信任中心设置”:步骤阅读3.3单击“宏设置”之后,选择合适的选项后,单击下方的“确定”即可确认宏设置了:步骤阅读END保存文件为启用宏的表1.1单击“另存为”按钮,或者直接单击Office按钮后,单击“另存为”:步骤阅读2.2“保存类型”位置选择“Excel 启用宏的工作簿”后,输入并确认文件名后,单击“保存”:步骤阅读3.3如下图所示的图标类型文件,即是已经启用宏的Excel工作簿文件了:步骤阅读END打开文件时启用宏1.1打开包含有宏的工作簿后,如果设置为“禁用所有宏,并发出通知”的话,会如下提示。
单击“选项”:步骤阅读2.2选择“启用此内容”后,单击“确定”,即可在工作簿中启用宏功能:excel宏的技巧首先在Excel中键入ALT+F11打开VBA编辑器;在“插入”菜单中,选择“用户窗体”;在窗口编辑栏里拖住对话框的右下角,把窗体拉大;最后的大小就将是咱们自定义的启动画面的大小了。
接下来,将“工具箱”里那个大大的“A”字图标拖拽到你的窗体上;鼠标点住出现的文本框的一角,将它拉大,将框内文字替换为之后想要显示的标题内容即可。
常用宏操作命令
当条件:用于限制表、窗体或报表中的记录的有效SQL WHERE子句(不含单词WHERE)或表达式(表达式:算术或逻辑运算符、常数、函数和字段名称、控件和属性的任意组合,计算结果为单个值。表达式可执行计算、操作字符或测试数据。)。
此操作与使用“查找和替换”对话框中的“查找下一个”按钮的效果相同。
FindRecord
查找符合由FindRecord参数指定的条件(条件:所指定的限制查询或筛选的结果集中包含哪些记录的条件。)的第一个数据实例。
查找内容:指定要在记录中查找的数据。
匹配:指定数据在字段(字段:表中的一个元素,包含信息的特定项,如姓氏。“标题”字段可能包含“先生”或“小姐”。数据库(如Microsoft SQL Server)将字段称为列。)中的位置。可以指定搜索位于字段任何部分的数据(“字段任何部分”)、填充整个字段的数据(“整个字段”)或位于字段开头的数据(“字段开头”)。默认值为“整个字段”。
重复表达式:计算结果为“True”(–1)或“False”(0)的表达式(表达式:算术或逻辑运算符、常数、函数和字段名称、控件和属性的任意组合,计算结果为单个值。表达式可执行计算、操作字符或测试数据。)。如果表达式的计算结果为“False”,宏将停止运行。宏每次运行时都会计算该表达式。
SetLocalVar
区分大小写:指定搜索是否区分大小写(区分大小写:能够区分大写和小写字母。区分大小写搜索只查找与大小写字母精确匹配的文本。)。
搜索:指定搜索方式:向上、向下、全部。默认值为“全部”。
格式化搜索:指定搜索是否包括带格式的数据。
OpenQuery
在数据表视图(数据表视图:以行列格式显示来自表、窗体、查询、视图或存储过程中的数据的视图。在数据表视图中,可以编辑字段、添加和删除数据,以及搜索数据。)、设计视图(设计视图:显示数据库对象(包括表、查询、窗体、报表和宏)的设计的视图。在设计视图中,可以创建新的数据库对象以及修改现有对象的设计。)或打印预览(打印预览:打印文档时显示文档的一种视图。)中打开选择查询(选择查询:就表中存储的数据提出问题,然后在不更改数据的情况下以数据表的形式返回一个结果集。)或交叉表查询(交叉表查询:这种查询用于对记录计算总计、平均值、计数或其他类型总计,然后按照两类信息对结果进行分组:一组信息分布在数据表的左侧,另一组分布在数据表的顶端。)。此操作运行操作查询(动作查询:用来复制或更改数据的查询。动作查询包括追加查询、删除查询、生成表查询和更新查询。在导航窗格中,它们是以其名称旁边紧跟感叹号(!)来标识的。)。
Word编辑常用宏荟萃
.LineUnitAfter = 0
.AutoAdjustRightIndent = True
.DisableLineHeightGrid = False
.FarEastLineBreakControl = True
.NoLineNumber = False
.Hyphenation = True
.FirstLineIndent = CentimetersToPoints(0)
.OutlineLevel = wdOutlineLevel1 '大纲级别
.TextRetrievalMode.IncludeHiddenText = True
myCodes = .Text
myCodes = VBA.Replace(myCodes, Chr(19), "{")
myCodes = VBA.Replace(myCodes, Chr(21), "}")
.WordWrap = True
.HangingPunctuation = True
.HalfWidthPunctuationOnTopOfLine = False
.AddSpaceBetweenFarEastAndAlpha = True
= "宋体"
Selection.Font.Size = 22
With Selection.ParagraphFormat
.LeftIndent = CentimetersToPoints(0)
.RightIndent = CentimetersToPoints(0)
.Execute
Word宏的操作秘籍
Word宏的操作秘籍在日常的办公工作中,Word 无疑是我们最为常用的工具之一。
而Word 中的宏功能,就像是一把隐藏的利剑,一旦掌握,便能大大提高我们的工作效率。
但对于很多人来说,宏似乎带着一层神秘的面纱,让人觉得难以捉摸。
别担心,今天咱们就来揭开这层面纱,一起探索Word 宏的操作秘籍。
首先,咱们得搞清楚啥是宏。
简单来说,宏就是一系列 Word 命令的组合,可以自动完成一些重复性的任务。
比如说,你每天都需要对文档进行相同的格式设置,或者要频繁插入特定的内容,这时候宏就能派上大用场啦。
那怎么创建宏呢?打开 Word 文档,依次点击“视图”——“宏”——“录制宏”。
这时候会弹出一个对话框,让你给宏起个名字,比如说“设置标题格式”。
然后点击“确定”,接下来你所进行的操作就会被录制下来,成为宏的一部分。
假设咱们要创建一个宏,把文档中的所有标题都设置为“黑体、三号、加粗、居中”。
那在录制宏之后,你就依次进行这些操作:选中标题文字,然后在字体设置里选择“黑体”、“三号”、“加粗”,再通过段落设置让其“居中”。
操作完成后,点击“视图”——“宏”——“停止录制”。
这样,一个简单的宏就创建好啦。
创建好宏之后,怎么使用呢?很简单,还是点击“视图”——“宏”,然后选择“查看宏”,在弹出的对话框里找到你刚刚创建的宏,比如“设置标题格式”,点击“运行”,Word 就会自动帮你把文档中的标题设置成你想要的格式。
不过,宏的功能可远不止这些。
它还能与各种快捷键绑定,让你一键执行宏命令。
比如说,你可以把刚刚创建的“设置标题格式”宏绑定到快捷键“Ctrl + Shift +T”。
这样,每次你按下这个快捷键,Word 就会自动完成标题格式的设置,是不是超级方便?要实现宏与快捷键的绑定,在创建宏的时候,点击“视图”——“宏”——“录制宏”,在弹出的对话框里,有一个“快捷键”的选项,在里面输入你想要的快捷键,比如“Ctrl + Shift +T”,然后点击“确定”开始录制宏,录制完成后停止录制,这样快捷键就和宏绑定成功了。
Word中的宏功能指南
Word中的宏功能指南微软的办公软件Word是我们日常工作中不可或缺的工具之一。
它提供了许多功能,其中一个非常有用且被广泛使用的功能是宏。
宏可以帮助我们自动化重复性的任务,提高工作效率。
本文将为大家介绍Word中的宏功能,并提供一些使用宏的实用技巧。
一、什么是宏?宏是一种自动化任务的录制和执行工具。
通过录制一系列的操作步骤,我们可以将这些步骤保存为一个宏,并在需要时执行它。
使用宏可以简化重复性的任务,例如格式化文档、插入特定内容等。
二、如何录制宏?在Word中,录制宏非常简单。
首先,打开Word并选择“开发工具”选项卡。
如果你没有看到该选项卡,请右键点击菜单栏,选择“自定义工具栏”并勾选“开发工具”。
接下来,点击“宏录制器”按钮,弹出宏录制对话框。
在对话框中,为宏命名并选择宏的存储位置。
点击“确定”后,录制开始。
在录制过程中,所有的操作步骤都会被记录下来。
你可以执行任何你想要的操作,例如格式化文本、插入图片等。
完成所有操作后,点击“停止录制”按钮,宏录制结束。
三、如何执行宏?录制好宏后,我们可以随时执行它。
在“开发工具”选项卡中,点击“宏”按钮,弹出宏对话框。
在对话框中,选择你要执行的宏,并点击“运行”按钮。
宏将按照你录制时的步骤自动执行。
四、如何编辑宏?有时候,我们可能需要对已经录制好的宏进行编辑。
在“开发工具”选项卡中,点击“宏”按钮,弹出宏对话框。
在对话框中,选择你要编辑的宏,并点击“编辑”按钮。
宏的代码将以Visual Basic for Applications (VBA)的形式显示出来。
你可以根据需要修改代码,并保存宏。
五、宏的实用技巧1. 键盘快捷键:你可以为宏分配一个键盘快捷键,以方便快速执行宏。
在宏编辑界面,点击“选项”按钮,选择一个适合的键盘快捷键。
2. 宏按钮:你可以在Word的工具栏上添加一个宏按钮,以便更方便地执行宏。
在宏编辑界面,点击“选项”按钮,选择一个适合的图标,并将宏按钮添加到工具栏上。
几乎所有支持丰富格式文本的文本处理软件都能处理rtf格式文档
几乎所有支持丰富格式文本的文本处理软件都能处理rtf格式文档【原创版】目录1.RTF 格式文档的概述2.RTF 格式文档的优点3.常用的 RTF 格式文本处理软件4.RTF 格式文档的应用领域正文一、RTF 格式文档的概述RTF(Rich Text Format)格式是一种丰富文本格式,它是为了实现跨平台文本处理而设计的。
RTF 格式文档包含了文本、图片、表格等丰富的信息,并且具有较强的兼容性,几乎所有支持丰富格式文本的文本处理软件都能处理 RTF 格式文档。
二、RTF 格式文档的优点1.兼容性强:RTF 格式文档可以在多种操作系统和软件中打开和编辑,如 Windows、Mac OS 和 Linux 等。
2.跨平台:RTF 格式文档不仅可以在 PC 机上使用,还可以在手机、平板等移动设备上查看和编辑。
3.支持多种文本格式:RTF 格式文档支持多种文本格式,如宋体、黑体、楷体等,并且可以设置字体大小、颜色和样式等。
4.可编辑性强:RTF 格式文档可以方便地进行复制、粘贴和删除等操作,也可以插入图片、表格等元素,非常方便进行文档的编辑和排版。
三、常用的 RTF 格式文本处理软件1.Microsoft Word:Microsoft Word 是 Microsoft Office 套件中的一款文字处理软件,它可以完美地处理 RTF 格式文档。
2.WPS Office:WPS Office 是一款国产的办公软件套件,其中的 WPS 文字可以方便地处理 RTF 格式文档。
3.Apple Pages:Apple Pages 是苹果公司推出的一款文字处理软件,它可以处理 RTF 格式文档。
4.LibreOffice:LibreOffice 是一款开源的办公软件套件,其中的Writer 可以处理 RTF 格式文档。
四、RTF 格式文档的应用领域RTF 格式文档广泛应用于各种场合,如学校、企业和政府等,主要用于文档的编辑、排版和打印等。
rtf格式是什么
rtf丰富文本格式文件,以纯文本描述内容,能够保存各种格式信息,可以用写字版,Word等创建。
也称富文本格式(Rich Text Format, 一般简称为RTF)是由微软公司开发的跨平台文档格式。
大多数的文字处理软件都能读取和保存RTF文档。
作为微软公司的标准文件,早期外间需要数十美元向微软付款,才能购买一本薄薄的RTF标准文件。
不过随着采用RTF格式标准的软件愈来愈多,RTF格式也愈来愈普遍,微软公司就把标准文件公开,放在网上供开发者下载。
现时可供下载的各个RTF版本标准文件如下:RTF 1.9.1 specification (March 2008)RTF 1.8 specification (April 2004)RTF 1.6 specification (May 1999)RTF 1.5 specification (April 1997)RTF 1.3 and 1.5 specificationsRTF 1.0 specification (June 1992)RTF格式是许多软件都能够识别的文件格式。
比如Word、WPS Office、Excel等都可以打开R TF格式的文件,这说明这种格式是较为通用的。
RTF是Rich Text Format的缩写,意即多文本格式。
这是一种类似DOC格式(Word文档)的文件,有很好的兼容性,使用Windows“附件”中的“写字板”就能打开并进行编辑。
使用“写字板”打开一个RTF格式文件时,将看到文件的内容;如果要查看TRF格式文件的源代码,只要使用“记事本”将它打开就行了。
这就是说,你完全可以像编辑HTML文件一样,使用“记事本”来编辑RTF格式文件。
对普通用户而言,RTF格式是一个很好的文件格式转换工具,用于在不同应用程序之间进行格式化文本文档的传送。
通用兼容性应该是RTF的最大优点,但同时也就具有它的缺点,比如文件一般相对较大(可能因为嵌入了兼容各种应用程序的控制符号吧)、WORD等应用软件特有的格式可能无法正常保存等。
Word宏的使用技巧
Word宏的使用技巧Word宏是一种功能强大的自动化工具,可以帮助用户提高工作效率,节省时间。
本文将介绍一些常见的Word宏使用技巧,帮助读者更好地利用宏功能进行文档处理。
一、什么是Word宏Word宏是一种记录和执行一系列操作的脚本,可以自动处理Word 文档中的各种任务,如格式设置、批量替换、自动编号等。
通过使用宏,用户可以简化重复性工作,提高工作效率。
二、宏的录制在Word中,可通过宏录制功能将一系列操作记录下来,形成一个宏。
录制宏的步骤如下:1. 打开Word,点击“开发工具”选项卡,点击“宏录制器”按钮。
2. 弹出“宏录制”对话框,输入宏的名称和存储位置,点击“确定”开始录制。
3. 按下快捷键或鼠标操作执行一系列操作,如格式设置、插入图片等。
4. 完成操作后,点击“停止录制”按钮,宏录制结束。
三、应用宏录制好的宏可以通过以下方式应用到其他文档中:1. 点击“开发工具”选项卡,选择“宏”按钮。
2. 在“宏”对话框中选择所需宏的名称,点击“运行”按钮。
3. 宏将自动执行录制的操作,完成相应的任务。
四、编辑宏除了录制宏,还可以对已有宏进行编辑,以满足个性化需求。
编辑宏的步骤如下:1. 点击“开发工具”选项卡,选择“宏”按钮。
2. 在“宏”对话框中选择所需宏的名称,点击“编辑”按钮。
3. 弹出宏编辑器窗口,对宏的VBA代码进行修改,如添加、删除或修改命令。
4. 完成修改后,点击“保存”按钮保存宏。
五、设置宏快捷键为了方便使用宏,可以设置宏的快捷键。
设置快捷键的步骤如下:1. 点击“开发工具”选项卡,选择“宏”按钮。
2. 在“宏”对话框中选择所需宏的名称,点击“选项”按钮。
3. 弹出“宏选项”对话框,可以选择所需的“快捷键”。
4. 点击“确定”按钮完成设置。
六、常用的宏功能1. 批量替换:利用宏的查找和替换功能,可以快速在文档中进行批量替换操作,节省时间和精力。
2. 自动编号:通过宏可以自动生成编号,简化文档中复杂的编号工作,提高工作效率。
259个常用宏
宏文件集▲打开全部隐藏工作表返回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▲进入单元执行宏(工作表代码)返回'以单元格进入代替按钮对象调用宏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"End 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 "现在打印奇数页,按确定开始."ActiveSheet.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)Call 插入分页符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 Then Pic.Top = Pic.TopLeftCell.TopPic.Left = Pic.TopLeftCell.LeftPic.Height = Pic.TopLeftCell.HeightPic.Width = Pic.TopLeftCell.WidthEnd IfNextEnd Sub▲返回光标所在行数返回Sub 返回光标所在行数()x = ActiveCell.RowEnd 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 SubSub 将所选区域文本插入新建文本框()For Each rag In Selectionn = n & rag.Value & Chr(10)NextActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, ActiveCell.Left + ActiveCell.Width, ActiveCell.Top + ActiveCell.Selection.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 Selectionment.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.Address NextEnd Sub▲不连续区域录入当前单元地址返回Sub 区域录入当前单元地址()For Each mycell In Selectionmycell.FormulaR1C1 = mycell.AddressNextEnd 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).Name End 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 As Range)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 As Range)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 As Range) 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.SelectEnd Sub▲选择光标或选区所在列返回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").ValueEnd Sub▲单元反选返回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 去除指定范围内的对象()Dim p As ShapeSet My = Worksheets("工作表名")For Each p In My.ShapesIf Not Application.Intersect(p.TopLeftCell, Range("范围")) Is Nothing Then p.Delete NextEnd Sub▲更新透视表数据项返回Sub DeleteMissingItems2002All()'防止数据透视表中显示无用的数据项'在 Excel 2002 或更高版本中'如果无用的数据项已经存在,'运行这个宏可以更新Dim pt As PivotTableDim ws As WorksheetFor Each ws In ActiveWorkbook.WorksheetsFor Each pt In ws.PivotTablespt.PivotCache.MissingItemsLimit = xlMissingItemsNoneNext ptNext wsEnd Sub▲将全部工作表名称写到A列返回Sub 将全部表名称写到A列()k = 1For Each Sht In SheetsCells(k + 1, 1) = '指定写入的行和列。
财务常用宏代码
说明:下列“宏“笔者经常使用我们无需了解VBA语句,无需懂、重在会用注:由于WORD文档会存在一些乱字符,影响宏的使用,请同时参考财税常用宏的RTF文档目录统计工作表数量 (1)批量取消超级链接 (1)拆解工作簿 (2)合并工作簿 (2)破解单元格锁定密码方法1 (2)破解单元格锁定密码方法2 (3)批量修改工作表名 (5)批量更改数据透视表值字段汇总方式 (6)工作表中的图表转换成图片 (6)统计工作表数量Sub 工作表统计()MsgBox "本工作簿中共有" &ThisWorkbook.Worksheets.Count& "个工作表"End Sub批量取消超级链接Sub removehyperlinks()Activesheet.hyperlinks.deleteEnd sub拆解工作簿Sub 拆解工作簿()'design by 邢荣Dim iAs IntegerFor i = 1 ToSheets.CountSheets(i).CopyActiveWorkbook.SaveAs "e:\temp\" && ".xlsx"ThisWorkbook.ActivateNext iEnd Sub注:拆分的文件存放到e:\temp目录下,可根据需要修改存放文件夹合并工作簿Sub 合并工作薄()Dim FilesToOpenDim x As IntegerOn Error GoToErrHandlerApplication.ScreenUpdating = FalseFilesToOpen = Application.GetOpenFilename _(FileFilter:="MicroSoft Excel文件(*.xlsx), *.xls", _MultiSelect:=True, Title:="要合并的文件")If TypeName(FilesToOpen) = "Boolean" ThenMsgBox "没有选中文件"GoToExitHandlerEnd Ifx = 1While x <= UBound(FilesToOpen)Workbooks.Open Filename:=FilesToOpen(x)Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)x = x + 1WendExitHandler:Application.ScreenUpdating = TrueExit SubErrHandler:MsgBoxErr.DescriptionResume ExitHandlerEnd Sub注:创建一个新的空EXCEL文件,然后粘贴SUB到end SUB之间的语句,F5运行,选择要合并的EXCEL文件(SHIFT多选)破解单元格锁定密码方法1Sub PasswordBreaker()Dim iAs Integer, j As Integer, k As IntegerDim l As Integer, m As Integer, n As IntegerDim i1 As Integer, i2 As Integer, i3 As IntegerDim i4 As Integer, i5 As Integer, i6 As IntegerOn Error Resume NextFor i = 65 To 66: For j = 65 To 66: For k = 65 To 66For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 ActiveSheet.UnprotectChr(i) &Chr(j) &Chr(k) & _Chr(l) &Chr(m) &Chr(i1) &Chr(i2) &Chr(i3) & _Chr(i4) &Chr(i5) &Chr(i6) &Chr(n)If ActiveSheet.ProtectContents = False ThenMsgBox "One usable password is "&Chr(i) &Chr(j) & _Chr(k) &Chr(l) &Chr(m) &Chr(i1) &Chr(i2) & _Chr(i3) &Chr(i4) &Chr(i5) &Chr(i6) &Chr(n)ActiveWorkbook.Sheets(1).SelectRange("a1").FormulaR1C1 = Chr(i) &Chr(j) & _Chr(k) &Chr(l) &Chr(m) &Chr(i1) &Chr(i2) & _Chr(i3) &Chr(i4) &Chr(i5) &Chr(i6) &Chr(n)Exit SubEnd IfNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextEnd Sub破解单元格锁定密码方法2Sub破解保护密码()'' Breaks worksheet and workbook structure passwords. Bob McCormick'' probably originator of base code algorithm modified for coverage'' of workbook structure / windows passwords and for multiple passwords'' Reveals hashed passwords NOT original passwordsConst DBLSPACE As String = vbNewLine&vbNewLineConst AUTHORS As String = DBLSPACE &vbNewLine& _"Adapted from Bob McCormick base code by" & _"Norman Harker and JE McGimpsey"Const HEADER As String = "AllInternalPasswords User Message"Const VERSION As String = DBLSPACE & "Version 1.1.1 "Const REPBACK As String = DBLSPACE & "Please report failure "& _"to the excelprogramming newsgroup."Const ALLCLEAR As String = DBLSPACE & "The workbook should "& _"now be free of all password protection, so make sure you:" & _DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _DBLSPACE & "使用之前请备份!" & _DBLSPACE & "Also, remember that the password was "& _"put there for a reason. Don''t stuff up crucial formulas "& _"or data." & DBLSPACE & "Access and use of some data "& _"may be an offense. If in doubt, don''t."Const MSGNOPWORDS1 As String = "There were no passwords on "& _"sheets, or workbook structure or windows." & AUTHORS & VERSIONConst MSGNOPWORDS2 As String = "There was no protection to "& _"workbook structure or windows." & DBLSPACE & _ "Proceeding to unprotect sheets."& AUTHORS & VERSIONConst MSGTAKETIME As String = "After pressing OK button this "& _ "will take some time." & DBLSPACE & "Amount of time "& _ "depends on how many different passwords, the " & _ "passwords, and your computer''s specification." & DBLSPACE & _ "请等待! " & AUTHORS & VERSIONConst MSGPWORDFOUND1 As String = "You had a Worksheet "& _ "Structure or Windows Password set." & DBLSPACE & _"The password found was: "& DBLSPACE & "$$" & DBLSPACE & _ "Note it down for potential future use in other workbooks by "& _ "the same person who set this password." & DBLSPACE & _ "Now to check and clear other passwords." & AUTHORS & VERSION Const MSGPWORDFOUND2 As String = "You had a Worksheet "& _ "password set." & DBLSPACE & "The password found was: " & _ DBLSPACE & "$$" & DBLSPACE & "Note it down for potential "& _ "future use in other workbooks by same person who " & _"set this password." & DBLSPACE & "Now to check and clear "& _ "other passwords." & AUTHORS & VERSIONConst MSGONLYONE As String = "Only structure / windows "& _ "protected with the password that was just found." & _ ALLCLEAR & AUTHORS & VERSION & REPBACKDim w1 As Worksheet, w2 As WorksheetDim iAs Integer, j As Integer, k As Integer, l As IntegerDim m As Integer, n As Integer, i1 As Integer, i2 As IntegerDim i3 As Integer, i4 As Integer, i5 As Integer, i6 As IntegerDim PWord1 As StringDim ShTagAs Boolean, WinTag As BooleanApplication.ScreenUpdating = FalseWith ActiveWorkbookWinTag = .ProtectStructureOr .ProtectWindowsEnd WithShTag = FalseFor Each w1 In WorksheetsShTag = ShTag Or w1.ProtectContentsNext w1If Not ShTag And Not WinTag ThenMsgBox MSGNOPWORDS1, vbInformation, HEADERExit SubEnd IfMsgBox MSGTAKETIME, vbInformation, HEADERIf Not WinTag ThenMsgBox MSGNOPWORDS2, vbInformation, HEADERElseOn Error Resume NextDo ''dummy do loopFor i = 65 To 66: For j = 65 To 66: For k = 65 To 66For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126With ActiveWorkbook.Unprotect Chr(i) &Chr(j) &Chr(k) & _Chr(l) &Chr(m) &Chr(i1) &Chr(i2) & _Chr(i3) &Chr(i4) &Chr(i5) &Chr(i6) &Chr(n)If .ProtectStructure = False And _.ProtectWindows = False ThenPWord1 = Chr(i) &Chr(j) &Chr(k) &Chr(l) & _Chr(m) &Chr(i1) &Chr(i2) &Chr(i3) & _Chr(i4) &Chr(i5) &Chr(i6) &Chr(n)MsgBoxApplication.Substitute(MSGPWORDFOUND1, _ "$$", PWord1), vbInformation, HEADERExit Do ''Bypass all for...nextsEnd IfEnd WithNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextLoop Until TrueOn Error GoTo 0End IfIf WinTag And Not ShTag ThenMsgBox MSGONLYONE, vbInformation, HEADERExit SubEnd IfOn Error Resume NextFor Each w1 In Worksheets''Attempt clearance with PWord1w1.Unprotect PWord1Next w1On Error GoTo 0ShTag = FalseFor Each w1 In Worksheets''Checks for all clear ShTag triggered to 1 if not.ShTag = ShTag Or w1.ProtectContentsNext w1If ShTag ThenFor Each w1 In WorksheetsWith w1If .ProtectContents ThenOn Error Resume NextDo ''Dummy do loopFor i = 65 To 66: For j = 65 To 66: For k = 65 To 66For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126.Unprotect Chr(i) &Chr(j) &Chr(k) & _Chr(l) &Chr(m) &Chr(i1) &Chr(i2) &Chr(i3) & _Chr(i4) &Chr(i5) &Chr(i6) &Chr(n)If Not .ProtectContents ThenPWord1 = Chr(i) &Chr(j) &Chr(k) &Chr(l) & _Chr(m) &Chr(i1) &Chr(i2) &Chr(i3) & _Chr(i4) &Chr(i5) &Chr(i6) &Chr(n)MsgBoxApplication.Substitute(MSGPWORDFOUND2, _"$$", PWord1), vbInformation, HEADER''leverage finding Pword by trying on other sheetsFor Each w2 In Worksheetsw2.Unprotect PWord1Next w2Exit Do ''Bypass all for...nextsEnd IfNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextLoop Until TrueOn Error GoTo 0End IfEnd WithNext w1End IfMsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER End Sub批量修改工作表名Sub 按钮1_Click()For i = 1 To Worksheets.CountSheets(i).Name = "部门" &iNextEnd Sub批量更改数据透视表值字段汇总方式Sub SumDataFields()’design by 邢荣Dim ptField As PivotFieldFor Each ptField In ActiveSheet.PivotTables(1).DataFieldsWith ptField.Function =xlSum.Caption = "求和项:" & .SourceNameEnd WithNextEnd Sub说明:.Function = xlSum:确定“值字段汇总方式“为“求和”。
Word宏命令简介教程
Word宏命令简介教程第一章:什么是Word宏命令Word宏命令是一种编程技术,能够自动化执行复杂的任务。
它可以将一系列的操作步骤记录下来,以便将来重复使用。
通过使用Word宏命令,用户可以提高其工作效率,简化繁琐的操作流程。
第二章:如何录制Word宏命令录制Word宏命令是使用Word宏命令的最简单方法之一。
用户只需按照以下步骤进行操作:1. 在Word中打开“开发工具”选项卡;2. 点击“录制宏”按钮,弹出“录制宏”对话框;3. 在“宏名称”框中输入宏的名称,并选择宏存储的位置;4. 点击“确定”,开始录制宏;5. 执行一系列操作步骤,Word会记录下你的操作;6. 点击“停止录制”按钮结束录制。
第三章:编辑和运行Word宏命令录制完宏命令后,你可以对其进行编辑和运行。
编辑宏命令可以在宏中添加、修改和删除操作步骤,以满足特定的需求。
运行宏命令可以通过以下步骤进行操作:1. 在Word中打开“开发工具”选项卡;2. 点击“宏”按钮,弹出“宏”对话框;3. 在对话框中选择你要运行的宏;4. 点击“运行”按钮,运行宏命令。
第四章:Word宏命令的应用Word宏命令广泛应用于各种办公场景中,如自动化生成报告、批量处理数据、自定义快捷键等。
下面是几个常见的应用示例:1. 批量快速替换文字:通过编写宏命令,可以一次性替换文档中的多个关键词,节省大量的时间和精力;2. 自动化生成表格:宏命令可以根据特定的规则自动插入表格、合并单元格、设置格式等,使表格的生成变得更加高效;3. 自定义快捷键:用户可以通过宏命令将某个常用操作绑定到一个快捷键上,方便快速执行操作。
第五章:常见问题及解决方案在使用Word宏命令的过程中,可能会遇到一些常见问题。
以下是一些常见问题及其解决方案:1. 宏录制过程中出错:检查你的操作是否符合宏命令录制的规范,如是否有未关闭的对话框、是否选择了正确的操作对象等;2. 宏运行后无反应:检查宏是否启用,可以在安全中心的宏设置中进行开启;3. 宏命令执行不符合预期:检查宏命令中的操作步骤是否正确,如是否选中了正确的文本、是否选择了正确的格式等。
rtf模板常用技巧
rtf模板常⽤技巧以下是⼀些在开发XMLP(BIP)报表的时候,开发RTF模版的⼀些技巧:1、word表格做RTF模版的时候,采⽤word中的表格来进⾏设计,下⾯的⼏点很重要:(1)标题⾏重复,可以实现新页重复标题。
(2)嵌套表格、⾏列合并、边框、底纹,可以实现特殊的布局。
(3)固定列宽、⾃动调整、禁⽌跨页断⾏,可以实现⼀些严格的布局控制。
2、⾏截断与禁⽌折⾏单据打印中对格式的要求⽐较⾼,如果某⼀⾏过长或者出现多次折⾏,就会破坏版⾯,尤其是套打等要求较⾼的场合,这⾥把各种⽅法作个⼩结。
其实,这个地⽅更⽹页开发很像,是否换⾏输出就跟html中的word-wrap和word-break⾮常类似,可以参见《word-wrap和word-break 的区别》,如果要设置超出显⽰,也⼏乎跟css中的overflow:hidden是⼀样的。
(1)Word功能,不理想固定列宽功能可以⽤,但固定⾏⾼不⾏,虽然设计时看到“固定”了,如果不加控制,运⾏后多出列宽的数据会⾃动折⾏。
(2)单⾏+截断,即控制只有以⼀⾏,多余截断,禁⽌折⾏。
在字段的后⾯,再加如下两个命令:<xsl:attribute xdofo:ctx="block" name="wrap-option">no-wrap</xsl:attribute><xsl:attribute xdofo:ctx="block" name="overflow">hidden</xsl:attribute>(3)多⾏+截断,难如固定显⽰3⾏,多余部分截断,⽬前通过模版⽆法实现,只有在数据源中先将数据截⾄刚好3⾏的字符数,然后利⽤⾃动折⾏功能。
这⾥还要注意空格,如果遇到空格,后⾯的单词⼜显⽰不下,将会提前⾃动折⾏。
3、条件格式化在不同的条件下显⽰不同的颜⾊、不同的列数、不同的标题、不同的布局风格等等,这些都属于条件格式化,需要借助IF命令。
Word中的宏功能指南
Word中的宏功能指南在本文中,我将为您介绍Word中的宏功能指南。
宏是一种自动化操作的工具,它可以帮助您简化重复的任务并提高工作效率。
无论您是在处理大量文档还是需要进行复杂的格式设置,Word中的宏功能都能为您提供便利。
接下来,我将为您详细介绍如何使用宏以及如何创建自己的宏。
一、什么是宏?宏是一系列Word操作的自动化记录。
您可以通过记录您的鼠标点击和键盘操作来创建宏。
一旦创建了宏,您可以随时运行它来自动执行相同的操作,从而节省时间和精力。
宏可以用于执行各种任务,如格式设置、内容插入、表格创建等。
二、如何录制宏在Word中录制宏非常简单。
请按照以下步骤操作:1. 打开Word并新建一个文档。
2. 在菜单栏上选择“开发工具”选项卡。
3. 点击“宏”按钮,在弹出的对话框中选择“录制新宏”选项。
4. 在宏名称框中输入您想要的宏名称,并选择一个快捷键(可选)。
5. 点击“确定”并开始录制您的操作。
6. 完成录制后,点击“停止录制”按钮。
三、运行宏录制完宏后,您可以随时运行它。
请按照以下步骤操作:1. 在菜单栏上选择“开发工具”选项卡。
2. 点击“宏”按钮,在弹出的对话框中选择您要运行的宏。
3. 点击“运行”按钮。
四、编辑宏如果您想要编辑已经录制的宏,您可以按照以下步骤操作:1. 在菜单栏上选择“开发工具”选项卡。
2. 点击“宏”按钮,在弹出的对话框中选择您要编辑的宏。
3. 点击“编辑”按钮,对宏进行修改。
4. 完成编辑后,点击“保存”按钮。
五、创建自定义宏除了录制已有的操作,您还可以创建自定义宏来满足特定需求。
请按照以下步骤操作:1. 在菜单栏上选择“开发工具”选项卡。
2. 点击“宏”按钮,在弹出的对话框中选择“新建”选项。
3. 在VBA编辑器中编写您的自定义宏代码。
4. 完成编写后,关闭编辑器并保存您的宏。
六、宏的高级功能除了基本的录制和运行宏功能,Word还提供了一些高级的宏功能,可以进一步优化您的工作流程。
157个常用宏(有代码可直接复制)
奇偶页分别打印点击自动打印多工作表第一页点击查找A列文本循环插入分页符(模块)点击将A列最后数据行以上的所有B列图片大小调整为所在点击单元大小返回光标所在行数点击在A1返回当前选中单元格数量点击返回当前工作簿中工作表数量点击返回光标选择区域的行数和列数点击工作表中包含数据的最大行数点击返回A列数据的最大行数点击将所选区域文本插入新建文本框点击批量插入地址批注点击批量插入统一批注点击以A1单元内容批量插入批注点击不连续区域插入当前文件名和表名及地址点击不连续区域录入当前单元地址点击连续区域录入当前单元地址点击返回当前单元地址点击不连续区域录入当前日期点击不连续区域录入当前数字日期点击不连续区域录入当前日期和时间点击不连续区域录入对勾点击不连续区域录入当前文件名点击不连续区域添加文本点击点击当前单元录入计算机用户名点击为指定工作表加指定密码保护表点击在有密码的工作表执行代码点击执行前需要验证密码的宏(控件按钮代码)点击拷贝A1公式和格式到A2点击插入数值条件格式点击点击当前单元加2点击A列等于A列减B列点击点击每编辑一个单元保存文件点击指定允许编辑区域点击解除允许编辑区域限制点击删除A列为指定内容的行点击删除A列非数字单元行点击有条件删除当前行点击选择第5行开始所有数据行点击选择光标或选区所在行点击选择到指定列的最后行点击将Sheet1的A列的非空值写到Sheet2的A列点击将全部工作表名称写到A列点击按A列数据批量创建新表(控件按钮代码)点击判断指定文件是否已经打开点击点击将指定范围的数据排列到D列点击光标移动点击光标所在行上移一行点击点击打开文件时提示指定工作表是保护状态点击(ThisWorkbook)全选固定范围内小于0的单元点击全选选定范围内小于0的单元点击固定区域单元分类变色点击点击显示光标所在单元的批注的代码点击提示确定或取消执行宏点击拷贝指定表不相邻多列数据到新位置点击在当前选区有条件替换数值为文本点击自动筛选第2列值为A的行点击取消自动筛选()点击全部显示指定表的自动筛选点击点击在A列产生不重复随机数点击将A列数据随机排列到F列点击取消选定区域的公式只保留值(假空转真空)点击填公式点击在第一个表前插入多工作表点击点击返回表中第一个非空单元地址(行搜索)点击返回表中各非空单元区域地址(行搜索)点击返回第一个数值行号点击返回第1行最右边非空单元的列号点击返回连续数值单元的数量点击统计指定范围和内容的单元数量点击统计不同颜色的数字的和(自定义函数)点击返回圆周率π点击定义指定单元内容为页眉/页脚点击提示并全部清除当前选择区域点击对指定工作表执行取消隐藏》打印》隐藏工作表点击弹出提示A1单元内容点击撤消工作表保护并取消密码点击将第5行移到窗口的最上面点击对第一张工作表的指定区域进行排序点击显示指定工作表的打印预览点击用单元格A1的内容作为文件名另存当前工作簿点击添加自定义序列点击弹出打印对话框点击点击把a列不重复值取到e列点击当前选区的行列数点击返回光标所在行号点击VBA返回公式结果点击合并A1至C1的内容写到D15单元的批注中点击重算模式点击分离字符串到每个单元格点击条件格式点击自动录入一个符号点击保护所有工作表点击判断正负数点击判断奇偶数点击选中变色点击自动输入当前日期点击高亮显示当前行点击按A列数据批量修改表名称点击光标指定到名称指定位置(模块)点击删除指定列含空格的所有行点击删除指定列所有重复行点击。
2.4.3宏命令教学示例
2.4.3宏命令教学
一、宏定义
1 .定义宏:打开WPSOffiCe,点击“插入”选项卡,在“文本”功能区中点击“宏”,然后选择“新建”并填写宏名称,为宏设置快捷键,最后点击“确定”。
2 .输入宏代码:在弹出的宏编辑器窗口中,输入你想要实现的宏功能的代码。
二、宏运行
1 .执行宏:点击“宏”选项卡,找到你刚才定义的宏,点击“运行”。
2 .编辑宏:在弹出的宏编辑器窗口中,你可以对宏代码进行修改。
三、宏录制
1 .点击“宏”选项卡,在“录制宏”功能区中点击“录制”,然后点击“停止”。
2 .将录制的宏复制并粘贴到其他位置。
注意:如果你使用的是免费版的WPSOffice,宏可能受到限制,需要升级到专业版或企业版以解锁更多功能。
四、宏安全
为了保护你的文件安全,请确保在关闭宏前,先停止运行任何宏。
1 .停止宏:在运行的宏上点击右键,选择“停止”。
2•保存文件:在关闭任何宏之前,请务必保存你的文件。
五、宏调试
在使用宏过程中,如遇到问题,可进行调试。
1.点击“宏”选项卡,在“录制宏”功能区中点击“录制”,然后点击“停止”。
2 .打开宏编辑器,在“调试”选项卡中,选择“宏”,然后点击“运行到光标位置”。
3 .在弹出的窗口中,你可以查看当前宏的执行过程,找到问题所在并进行
修改。
210个常用宏
宏管理其他筛选宏管理宏管理宏管理对象奇偶页分别打印点击打印自动打印多工作表第一页点击打印查找A列文本循环插入分页符点击打印将A列最后数据行以上的所有B列图片大小调整为所在点击对象单元大小返回光标所在行数点击查找和引用工作表中包含数据的最大行数点击查找和引用返回A列数据的最大行数点击查找和引用对象批注批注批注单元赋值单元赋值单元赋值单元赋值单元赋值单元赋值单元赋值单元赋值单元赋值单元赋值单元赋值工作表工作表工作表文件管理工作表工作表点击单元赋值当前单元录入计算机用户名点击单元赋值为指定工作表加指定密码保护表点击密码在有密码的工作表执行代码点击密码拷贝A1公式和格式到A2点击单元赋值复制单元数值点击单元赋值插入数值条件格式点击格式插入透明批注点击批注单元赋值定位定位定位定位定位定位点击单元赋值当前单元加2点击单元赋值A列等于A列减B列点击单元赋值用于光标选定多区域跳转指定单元(工作表代码)点击定位单元赋值单元赋值单元赋值单元赋值单元赋值单元赋值事件事件事件其他定位对象事件其他信息事件单元赋值点击事件指定允许编辑区域点击编辑解除允许编辑区域限制点击编辑删除A列为指定内容的行点击行列操作删除A列非数字单元行点击行列操作有条件删除当前行点击行列操作选择下一行点击定位选择光标或选区所在行点击定位定位名称点击名称将Sheet1的A列的非空值写到Sheet2的A列点击单元赋值将名称1的数据写到名称2点击名称定位格式对象点击数据单元赋值名称点击工作表按A列数据批量修改表名称点击工作表清除剪贴板点击其他其他文件管理文件管理文件管理文件管理文件管理文件管理文件管理文件管理文件管理文件管理点击文件管理将A列数据排序到D列点击单元赋值单元赋值定位行列操作点击数据取消数据有效限制点击数据重排窗口点击窗口定位定位定位工作表文件管理行列操作工作表工作表工作表格式工作表工作表点击工作表工作表行列操作定位点击定位格式格式事件事件数据其他其他单元赋值事件事件事件事件点击单元赋值选择2至4行点击定位在当前选区有条件替换数值为文本点击事件自动筛选全部显示指定列点击筛选全部显示指定表的自动筛选点击筛选强行合并单元点击格式指定A列的日期格式点击格式单元赋值事件事件点击行列操作在A列产生不重复随机数点击单元赋值单元赋值单元赋值其他信息格式格式点击单元赋值建立当前工作表的副本为001表点击工作表插入新表点击工作表单元赋值自定义函数信息超链接超链接超链接超链接点击查找和引用返回表中第一个非空单元地址(行搜索)点击查找和引用返回表中各非空单元区域地址(行搜索)点击查找和引用返回非空单元数量点击查找和引用返回A列非空单元数量点击查找和引用返回圆周率π点击其他打印单元赋值单元赋值单元赋值对指定工作表执行取消隐藏》打印》隐藏工作表点击打印打开excel就执行某个宏点击事件信息事件点击工作表重算指定表点击工作表将第5行移到窗口的最上面点击窗口对第一张工作表的指定区域进行排序点击单元赋值显示指定工作表的打印预览点击打印用单元格A1的内容作为文件名另存当前工作簿点击文件管理[禁用/启用]保存和另存的代码点击文件管理在A和B列返回当前选区的名称和公式点击单元赋值朗读朗读A列,按ESC键中止点击语音朗读固定语句,请按ESC键终止点击语音在M和N列的14行以下选择单元时显示调用日历控件点击对象(工作表代码)添加自定义序列点击其他弹出打印对话框点击打印打印事件点击工作表把a列不重复值取到e列点击查找和引用查找和引用工作表点击事件事件其他点击其他按照当前行A列的图片名称插入图片到H列点击图片当前行下插入1行点击工作表取消隐藏的指定行或列点击工作表。
Word宏的使用技巧
Word宏的使用技巧Word宏是指在Microsoft Word中自动执行一系列操作的录制和执行工具。
使用宏可以大大提高我们在Word中的工作效率和便捷性。
本文将介绍一些使用Word宏的技巧,帮助读者更好地使用宏来完成各种任务。
一、录制宏录制宏是指在Word中记录我们的操作序列,然后可以重复执行这个序列以完成相同的任务。
以下是录制宏的步骤:1. 打开Word软件,并点击“开发工具”选项卡。
2. 在“宏”组中,点击“录制宏”按钮。
3. 弹出“宏录制器”对话框,输入宏的名称,并选择宏的存储位置。
4. 点击“确定”按钮开始录制宏。
5. 执行一系列操作,包括文本输入、格式更改、插入图片等。
6. 点击“停止录制”按钮,录制宏结束。
二、编辑宏编辑宏是指对已经录制好的宏进行修改和调整,以满足不同的需求。
以下是编辑宏的步骤:1. 点击“开发工具”选项卡,在“宏”组中选择“宏”,进入“宏”对话框。
2. 在“宏名”列表中选择需要编辑的宏。
3. 点击“编辑”按钮,进入宏编辑器。
4. 在宏编辑器中,对宏的代码进行修改和调整。
5. 修改完成后,点击“保存”按钮保存修改。
三、运行宏运行宏是指执行已经录制好或编辑好的宏以完成相应的任务。
以下是运行宏的步骤:1. 点击“开发工具”选项卡,在“宏”组中选择“宏”,进入“宏”对话框。
2. 在“宏名”列表中选择需要运行的宏。
3. 点击“运行”按钮,宏将立即执行。
四、自定义宏快捷键可以为特定的宏设置自定义快捷键,以便更方便地运行宏。
以下是自定义宏快捷键的步骤:1. 点击“开发工具”选项卡,在“宏”组中选择“宏”,进入“宏”对话框。
2. 在“宏名”列表中选择需要设置快捷键的宏。
3. 点击“选项”按钮,在弹出的“宏选项”对话框中选择“键盘”选项卡。
4. 在“按键区域”列表中选择合适的按键组合,并点击“分配给”按钮,设置快捷键。
5. 点击“确定”按钮保存设置。
五、分享和导入宏如果你有一个有用的宏想要分享给他人,或者你想要导入他人分享的宏,可以使用以下方法:1. 打开“开发工具”选项卡,在“宏”组中选择“宏”,进入“宏”对话框。
常用宏命令
Workbooks.Open (Application.GetOpenFilename())---------------打开文件Range("A4:H4").Select------------------------------选择(A4:H4)单元格Cells.Select-----------------------------全选Selection.Copy-------------复制Selection.PasteSpecial Paste:=xlPasteV alues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False-----------------------选择性粘贴数值Range(Selection, Selection.End(xlDown)).Select---------------------从当前格向下连续选择With Selection.Font.Size = 11.Strikethrough = False.Superscript = False.Subscript = False.OutlineFont = False.Shadow = False.Underline = xlUnderlineStyleNoneEnd With----------------------------------------------------调整当前单元格的字体Selection.Font.ColorIndex = 0-------------------------------设置字体颜色Sub 选择粘贴数值()For i = 3 To 39Sheets(i).SelectActiveWindow.SmallScroll Down:=-9Cells.SelectSelection.CopySelection.PasteSpecial Paste:=xlPasteV alues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=FalseNext iEnd SubSub 字体()For i = 3 To 39Sheets(i).SelectActiveWindow.SmallScroll Down:=-12Range("A4:H4").SelectRange(Selection, Selection.End(xlDown)).SelectActiveWindow.SmallScroll Down:=6With Selection.Font.Size = 11.Strikethrough = False.Superscript = False.Subscript = False.OutlineFont = False.Shadow = False.Underline = xlUnderlineStyleNoneEnd WithSelection.Font.ColorIndex = 0Next iEnd SubSub 比对()'MsgBox ("请稍候选择老表,以此表为标准")'bdba = Workbooks.Open(Application.GetOpenFilename()).Name '标准表'MsgBox ("请稍候选择老表,从此表提取信息")'bdbb = Workbooks.Open(Application.GetOpenFilename()).Name '信息表Dim bdba As StringDim bdbb As Stringbdbb = "08-标准表.xls"bdba = "08-信息表.xls"Dim bdbaNum As IntegerDim bdbbNum As IntegerbdbaNum = Workbooks(bdba).Sheets.CountbdbbNum = Workbooks(bdbb).Sheets.CountDim xbbd As Integerxbbd = Workbooks("新老比对").Sheets.CountDim i As IntegerFor i = 1 To bdbaNumWorkbooks(bdba).Sheets(i).ActivateCall 表格排序Workbooks(bdba).Sheets(i).Copy after:=Workbooks("新老比对.xls").Sheets(1) Dim j As IntegerFor j = 1 To bdbbNumIf Workbooks(bdba).Sheets(i).Name = Workbooks(bdbb).Sheets(j).Name ThenWorkbooks(bdbb).Sheets(j).ActivateCall 表格排序Workbooks("新老比对").Sheets(Workbooks(bdba).Sheets(i).Name).ActivateDim xx As IntegerFor xx = 6 To Workbooks(bdba).Sheets(i).Range("e65536").End(xlUp).RowWorkbooks("新老比对").Sheets(Workbooks(bdba).Sheets(i).Name).Cells(5, 19).NumberFormatLocal = "0%"Workbooks("新老比对").Sheets(Workbooks(bdba).Sheets(i).Name).Cells(5, 19) = xx / Workbooks(bdba).Sheets(i).Range("e65536").End(xlUp).RowIf Workbooks(bdba).Sheets(i).Cells(xx, 5) = Workbooks(bdbb).Sheets(j).Cells(xx, 5) And Workbooks(bdba).Sheets(i).Cells(xx, 6) = Workbooks(bdbb).Sheets(j).Cells(xx, 6) And Workbooks(bdba).Sheets(i).Cells(xx, 9) =Workbooks(bdbb).Sheets(j).Cells(xx, 9) ThenIf Workbooks(bdba).Sheets(i).Cells(xx, 13) = Workbooks(bdbb).Sheets(j).Cells(xx, 13) ThenDim ll As IntegerFor ll = 2 To 18'Workbooks(bdba).Sheets(i).Cells(xx, ll) = Workbooks(bdbb).Sheets(j).Cells(xx, ll)Workbooks("新老比对").Sheets(Workbooks(bdba).Sheets(i).Name).Cells(xx, ll) = Workbooks(bdbb).Sheets(j).Cells(xx, ll)Next llElseWith Workbooks("新老比对").Sheets(Workbooks(bdba).Sheets(i).Name).Range("b" & xx & ":r" & xx).Font.ColorIndex = 3.Interior.ColorIndex = 6.Interior.Pattern = xlSolidEnd WithWith Workbooks(bdba).Sheets(i).Range("b" & xx & ":r" & xx).Font.ColorIndex = 3.Interior.ColorIndex = 6.Interior.Pattern = xlSolidEnd WithEnd IfElseWith Workbooks("新老比对").Sheets(Workbooks(bdba).Sheets(i).Name).Range("b" & xx & ":r" & xx).Font.ColorIndex = 3.Interior.ColorIndex = 6.Interior.Pattern = xlSolidEnd WithEnd IfNext xxEnd IfNext jNext iEnd SubSub 表格排序()ActiveSheet.Unprotect Password:="anrong521"With Range("a6:r" & Range("e65536").End(xlUp).Row).SelectSelection.Sort Key1:=Range("I6"), Order1:=xlAscending, Key2:=Range("E6") _, Order2:=xlAscending, Key3:=Range("F6"), Order3:=xlAscending, Header:= _xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _SortMethod:=xlPinYin, DataOption1:=xlSortNormal, DataOption2:= _xlSortNormal, DataOption3:=xlSortNormalEnd WithEnd Sub。
word中常用到的宏
Sub 把文档中所有数字改为会计格式()'' 把文档中所有数字改为会计格式宏''Sub qianfen()'本代码旨在解决WORD中数据转化为千分位'数据限定要求:-922,337,203,685,477.5,808.00到922,337,203,685,477.5,807.00'转化结果1,000.00以上数据以千分位计算,小数点右侧保留二位小数;1,000.00以下数据不变Dim myRange As Range, i As Byte, myValue As CurrencyOn Error Resume NextApplication.ScreenUpdating = False '关闭屏幕更新NextFind: Set myRange = ActiveDocument.Content '定义为主文档文字部分With myRange.Find '查找.ClearFormatting '清除格式.Text = "[0-9]{4,15}" '4到15位数据.MatchWildcards = True '使用通配符Do While .Execute '每次查找成功i = 2 '起始值为2'如果是有小数点If myRange.Next(wdCharacter, 1) = "." Then'进行一个未知循环While myRange.Next(wdCharacter, i) Like "#"i = i + 1 '只要是[0-9]任意数字则累加Wend'重新定义RANGE对象myRange.SetRangemyRange.Start, myRange.End + i - 1End IfmyValue = VBA.Val(myRange) '保险起见转换为数据,也可省略myRange = VBA.Format(myValue, "Standard") '转为千分位格式GoToNextFind '转到指定行LoopEnd WithApplication.ScreenUpdating = True '恢复屏幕更新End SubSub选中文档中的所有表格()Dim mytable As TableApplication.ScreenUpdating = FalseFor Each mytable In ActiveDocument.Tablesmytable.Range.Editors.AddwdEditorEveryoneNextActiveDocument.SelectAllEditableRanges (wdEditorEveryone) ActiveDocument.DeleteAllEditableRanges (wdEditorEveryone) Application.ScreenUpdating = TrueEnd Sub。
EBS报表RTF模板设置总结
EBS报表RTF模板设置总结1.凭证内分页需要在外层的凭证for循环加“section”标记:<?for-each@section:G1?>PS:类似Word中节的概念,不同Section的页码将重新编号、页眉页脚也重新开始通常用于for-each@section,使新组分页。
2.设置表头/表尾每页显示设置表头每页显示,可以使用word的表格属性设置:表尾无法使用word设置,但可以通过标记实现:扩展的页眉页脚,可使用<?start:body?><?end body?>把主体部分“框”起来,凡是在这两个标记之外的东西,都将被当作页眉页脚3.固定位置分页<?if:position() != 1 and (position() - 1) mod $lpp = 0?><xsl:attribute name="break-before">page</xsl:attribute><?end if?>4.补空白行对于设置了表尾的模板,如果没有达到固定行数,需要补齐空白行。
需要加若干行空白行,并设置条件显示:<?if:(10 - (xdoxslt:get_variable($_XDOCTX, 'page_line') mod 10)) > 1?> --xxx内容--<?end if?>如果表格末行显示汇总,需要做些特殊处理:行数mod 固定行数= 0 时:1)行前换页<?if:((xdoxslt:get_variable($_XDOCTX, 'page_line') mod 10) = 0) ?><xsl:attribute name="break-before">page</xsl:attribute><?end if?>2)只这种情况显示<?if:((xdoxslt:get_variable($_XDOCTX, 'page_line') mod 10) = 0) ?>--xxx内容--<?end if?>5.单行多出的字符截断在字段后,再加两个命令:<xsl:attribute xdofo:ctx="block" name="wrap-option">no-wrap</xsl:attribute> <xsl:attribute xdofo:ctx="block" name="overflow">hidden</xsl:attribute>。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
说明:下列“宏“笔者经常使用我们无需了解VBA语句,无需懂、重在会用注:由于WORD文档会存在一些乱字符,影响宏的使用,请同时参考财税常用宏的RTF文档目录统计工作表数量1批量取消超级链接1拆解工作簿2合并工作簿2破解单元格锁定密码方法13破解单元格锁定密码方法23批量修改工作表名5批量更改数据透视表值字段汇总方式6工作表中的图表转换成图片6统计工作表数量Sub 工作表统计()MsgBox "本工作簿中共有" &ThisWorkbook.Worksheets.Count & "个工作表" End Sub批量取消超级链接Sub removehyperlinks()Activesheet.hyperlinks.deleteEnd sub拆解工作簿Sub 拆解工作簿()'design by 邢荣Dim i As IntegerFor i = 1 To Sheets.CountSheets(i).CopyActiveWorkbook.SaveAs "e:\temp\" & & ".xlsx" ThisWorkbook.ActivateNext iEnd Sub注:拆分的文件存放到e:\temp目录下,可根据需要修改存放文件夹合并工作簿Sub 合并工作薄()Dim FilesToOpenDim x As IntegerOn Error GoTo ErrHandlerApplication.ScreenUpdating = FalseFilesToOpen = Application.GetOpenFilename _(FileFilter:="MicroSoft Excel文件(*.xlsx), *.xls", _MultiSelect:=True, Title:="要合并的文件")If TypeName(FilesToOpen) = "Boolean" ThenMsgBox "没有选中文件"GoTo ExitHandlerEnd Ifx = 1While x <= UBound(FilesToOpen)Workbooks.Open Filename:=FilesToOpen(x)Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)x = x + 1WendExitHandler:Application.ScreenUpdating = TrueExit SubErrHandler:MsgBoxErr.DescriptionResume ExitHandlerEnd Sub注:创建一个新的空EXCEL文件,然后粘贴SUB到end SUB之间的语句,F5运行,选择要合并的EXCEL 文件(SHIFT多选)破解单元格锁定密码方法1Sub PasswordBreaker()Dim i As Integer, j As Integer, k As IntegerDim l As Integer, m As Integer, n As IntegerDim i1 As Integer, i2 As Integer, i3 As IntegerDim i4 As Integer, i5 As Integer, i6 As IntegerOn Error Resume NextFor i = 65 To 66: For j = 65 To 66: For k = 65 To 66For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)If ActiveSheet.ProtectContents = False ThenMsgBox "One usable password is " & Chr(i) & Chr(j) & _ Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)ActiveWorkbook.Sheets(1).SelectRange("a1").FormulaR1C1 = Chr(i) & Chr(j) & _Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)Exit SubEnd IfNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextEnd Sub破解单元格锁定密码方法2Sub 破解保护密码()'' Breaks worksheet and workbook structure passwords. Bob McCormick'' probably originator of base code algorithm modified for coverage'' of workbook structure / windows passwords and for multiple passwords'' Reveals hashed passwords NOT original passwordsConst DBLSPACE As String = vbNewLine & vbNewLineConst AUTHORS As String = DBLSPACE & vbNewLine & _"Adapted from Bob McCormick base code by" & _"Norman Harker and JE McGimpsey"Const HEADER As String = "AllInternalPasswords User Message"Const VERSION As String = DBLSPACE & "Version 1.1.1 "Const REPBACK As String = DBLSPACE & "Please report failure " & _"to the excel programming newsgroup."Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _"now be free of all password protection, so make sure you:" & _DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _DBLSPACE & "使用之前请备份!" & _DBLSPACE & "Also, remember that the password was " & _"put there for a reason. Don''t stuff up crucial formulas " & _"or data." & DBLSPACE & "Access and use of some data " & _"may be an offense. If in doubt, don''t."Const MSGNOPWORDS1 As String = "There were no passwords on " & _"sheets, or workbook structure or windows." & AUTHORS & VERSIONConst MSGNOPWORDS2 As String = "There was no protection to " & _"workbook structure or windows." & DBLSPACE & _"Proceeding to unprotect sheets." & AUTHORS & VERSIONConst MSGTAKETIME As String = "After pressing OK button this " & _"will take some time." & DBLSPACE & "Amount of time " & _"depends on how many different passwords, the " & _"passwords, and your computer''s specification." & DBLSPACE & _"请等待! " & AUTHORS & VERSIONConst MSGPWORDFOUND1 As String = "You had a Worksheet " & _"Structure or Windows Password set." & DBLSPACE & _"The password found was: " & DBLSPACE & "$$" & DBLSPACE & _ "Note it down for potential future use in other workbooks by " & _ "the same person who set this password." & DBLSPACE & _ "Now to check and clear other passwords." & AUTHORS & VERSION Const MSGPWORDFOUND2 As String = "You had a Worksheet " & _ "password set." & DBLSPACE & "The password found was: " & _ DBLSPACE & "$$" & DBLSPACE & "Note it down for potential " & _ "future use in other workbooks by same person who " & _"set this password." & DBLSPACE & "Now to check and clear " & _ "other passwords." & AUTHORS & VERSIONConst MSGONLYONE As String = "Only structure / windows " & _ "protected with the password that was just found." & _ ALLCLEAR & AUTHORS & VERSION & REPBACKDim w1 As Worksheet, w2 As WorksheetDim i As Integer, j As Integer, k As Integer, l As IntegerDim m As Integer, n As Integer, i1 As Integer, i2 As IntegerDim i3 As Integer, i4 As Integer, i5 As Integer, i6 As IntegerDim PWord1 As StringDim ShTag As Boolean, WinTag As BooleanApplication.ScreenUpdating = FalseWith ActiveWorkbookWinTag = .ProtectStructure Or .ProtectWindowsEnd WithShTag = FalseFor Each w1 In WorksheetsShTag = ShTag Or w1.ProtectContentsNext w1If Not ShTag And Not WinTag ThenMsgBox MSGNOPWORDS1, vbInformation, HEADERExit SubEnd IfMsgBox MSGTAKETIME, vbInformation, HEADERIf Not WinTag ThenMsgBox MSGNOPWORDS2, vbInformation, HEADERElseOn Error Resume NextDo ''dummy do loopFor i = 65 To 66: For j = 65 To 66: For k = 65 To 66For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126With ActiveWorkbook.Unprotect Chr(i) & Chr(j) & Chr(k) & _Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)If .ProtectStructure = False And _.ProtectWindows = False ThenPWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)MsgBox Application.Substitute(MSGPWORDFOUND1, _ "$$", PWord1), vbInformation, HEADERExit Do ''Bypass all for...nextsEnd IfEnd WithNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextLoop Until TrueOn Error GoTo 0End IfIf WinTag And Not ShTag ThenMsgBox MSGONLYONE, vbInformation, HEADERExit SubEnd IfOn Error Resume NextFor Each w1 In Worksheets''Attempt clearance with PWord1w1.Unprotect PWord1Next w1On Error GoTo 0ShTag = FalseFor Each w1 In Worksheets''Checks for all clear ShTag triggered to 1 if not.ShTag = ShTag Or w1.ProtectContentsNext w1If ShTag ThenFor Each w1 In WorksheetsWith w1If .ProtectContents ThenOn Error Resume NextDo ''Dummy do loopFor i = 65 To 66: For j = 65 To 66: For k = 65 To 66For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126.Unprotect Chr(i) & Chr(j) & Chr(k) & _Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)If Not .ProtectContents ThenPWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)MsgBox Application.Substitute(MSGPWORDFOUND2, _"$$", PWord1), vbInformation, HEADER''leverage finding Pword by trying on other sheetsFor Each w2 In Worksheetsw2.Unprotect PWord1Next w2Exit Do ''Bypass all for...nextsEnd IfNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextLoop Until TrueOn Error GoTo 0End IfEnd WithNext w1End IfMsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER End Sub批量修改工作表名Sub 按钮1_Click()For i = 1 To Worksheets.CountSheets(i).Name = "部门" & iNextEnd Sub批量更改数据透视表值字段汇总方式Sub SumDataFields()’design by 邢荣Dim ptField As PivotFieldFor Each ptField In ActiveSheet.PivotTables(1).DataFieldsWith ptField.Function =xlSum.Caption = "求和项:" & .SourceNameEnd WithNextEnd Sub说明:.Function = xlSum:确定“值字段汇总方式“为“求和”。