文档库 最新最全的文档下载
当前位置:文档库 › 用好Office中的VBA

用好Office中的VBA

用好Office中的VBA
用好Office中的VBA

用好Office中的VBA

在重复处理格式设置或更正问题时,VBA有效且高效。例如,你是否曾经在Word中更改每页顶部的段落样式?你是否曾经必须重新设置从Excel粘贴到Word文档或Outlook 电子邮件中的多个表的格式?你是否曾经必须在多个Outlook 联系人中进行统一更改?如果必须更改10次或20次以上,则可能值得使用VBA 来自动执行更改操作;如果必须更改数百次,则肯定值得考虑。几乎所有你可以手动执行的格式设置或编辑更改都可以使用VBA执行。

由于文章篇幅的限制和排版需要,相关的VBA代码请关注电脑迷微信(微信号:cpcfan)回复1502VBA1获取下载链接。

用VBA实现Word“功能”操作

对于用户来说,Word操作是日常应用频率非常高的办公软件,也许你会遇到一些比较困难或另类的操作,其实这些看似麻烦的操作都可以通过VBA代码中实现,这里通过实例的形式介绍几个比较实用的方法。

批量设置标题样式

由于工作的需要,领导要求将文档中所有包含“创新意识”的行设置为“标题1”的样式,如果纯手工设置的话,

既麻烦而且也容易遗漏,我们可以考虑借助VBA代码解决这一问题(如图1)。

如果需要将包含其他内容的行设置为“标题1”,只要更改“"*创新意识*"”的内容即可。检查无误之后,当前文档所有包括“创新意识”的行均会被设置为“标题1”样式,如果需要使用其他的标题样式,只要更改“标题1”即可。

批量删除页眉和页脚

由于工作的需要,领导要求删除相关文档的页眉、页脚的内容,这些内容都是单位更名之前的信息。如果逐一打开文档,切换到页眉、页脚区域进行手工删除,操作是相当的繁琐,而且容易出现遗漏。我们可以利用VBA代码批量删除这些页眉和页脚(如图2)。

上述代码中,代码名“del”可以任意命名,“Set myRange = oSec.Headers(wdHeaderFooterPrimary).Range”和“myRange.Delete”表示删除页眉,“Set myRange =

oSec.Footers(wdHeaderFooterPrimary).Range”和“myRange.Delete”表示删除页脚,也可以根据实际需要只删除页眉或页脚。检查无误之后,依次选择“文件/关闭并返回到Microsoft Word”命令,返回Word界面,按下“Alt+F8”组合键,打开“宏”对话框,选择并运行宏(如图3),跳转到目标文档所在的路径,很快就可以自动删除相关文档的页眉和页脚内容。

如果需要清理的目标文档是“*.docx”格式,可以对“.Filters.Add "所有Word 文档","*.doc",1”行进行修改,例如修改为“.Filters.Add "所有Word 文档","*.docx",1”。

快速计数二级标题

同事前来求助,要求计算出所有二级标题(即样式为“标题2”)的数量,常规的方法是插入目录,然后手工计数,这显然过于繁琐了一些,而且也容易出错。其实,我们可以利用VBA代码解决这一困难,按下“Alt+F11”组合键,打开Microsoft Visual Basic for Application编辑器窗口,依次选择“插入/模块”命令,在右侧窗格插入一个空白模块(如图4),复制并粘贴下载的代码。

上述代码中的宏名称“二级标题计数”可以任意命名,“wdStyleHeading2”表示统计样式为“标题2”的数量,如果需要统计其他样式标题的数量,可以对其进行修改,例如“wdStyleHeading2”可以统计样式为“标题1”的数量,至于“MsgBox”的提示文字可以任意修改。检查无误之后,选择“文件/关闭并返回到Microsoft Word”命令,返回Word 主界面,按下“Alt+F8”组合键,打开“宏”对话框,运行宏,这里的数字就是当前文档二级标题的数量(如图5)。

Tips

编辑VBA代码的常规步骤并不复杂,按下“Alt+F11”组合键,此时会打开Microsoft Visual Basic for Applications编辑

器窗口,依次选择“插入/模块”,在右侧窗格插入一个空白模块,手工输入或粘贴代码,检查无误之后,依次选择“文件/关闭并返回到Microsoft Word”命令,返回Word主界面,按下“Alt+F8”组合键,打开“宏”对话框,选择并运行宏

就可以了。

利用VBA代码提高Excel操作效率

快速统计特定颜色的数量

最近在工作中遇到一个问题,工作表的部分数据被标注为红色,现在需要将这些标注为红色的数据筛选出来,同时还需要统计红色数据中每个数据的个数。手工统计自然不在考虑之列,决定利用自定义函数解决这一问题。

检查无误之后,选择“文件/关闭并返回到Microsoft Excel”命令,返回Excel主界面,在H1单元格输入公式“=countcolor (B1,A1:E5)”,这里的“B1”表示需要引用的单元格颜色(红色),“A1:E5”表示需要统计颜色的单元格区域,执行之后即可得到结果(如图6),如果需要统计其他的颜色,只要更改“B1”即可。

向工作表页眉插入系统年份

在工作中遇到一个问题,上级要求将系统日期以“YYYY 年”的格式放入Excel工作表的页眉,例如“四川省资阳市2014年XXXX统计表”,其中的“2014”必须由计算机根据系统日期自动生成,不过如果在页眉使用“&[日期]”的话,那

么会同时显示“年/月/日”的信息,这就与上级的要求不相符合。用VBA代码也可以简单实现。

代码中的“四川省资阳市yyyy年××××统计表”的字符内容和格式可以根据实际需要进行修改,选择并运行test 宏,很快就可以在页脚位置插入相应内容,而且每次打开文档,都会自动更新年份(如图7)。

Tips

Excel的VBA操作与Word基本相同,按下“Alt+F11”组合键,打开Microsoft Visual Basic for Applications编辑器窗口,依次选择“插入→模块”,在右侧窗格插入一个空白模块,在这里手工输入或粘贴代码,检查无误之后,选择“文件→关闭并返回到Microsoft Excel”命令,返回Excel主界面,按下“Alt+F8”组合键,打开“宏”对话框,运行宏就可以了。

相关文档