前言
第一次使用excel vba编程,解决重复性的excel操作问题。虽然问题不难,但在设置宏的过程中,一点点解决了很多小问题,相信这些小问题也都可能是大家在应用该项功能中可能碰到的问题,对于在搜索引擎上可以轻易找到解决办法的,此文不再赘述,仅提供一些难以找到答案问题的解决方法。此外,本文是以问题为导向提供解决方案,相信通过解决一个个小问题可以帮助你顺利地跨过初次使用excel宏的门槛。
问题一:如何增加属于自己的功能选项卡以及使用工具
图1-1 上图是我们初始打开excel的界面,为了方便理解,我在图中标记出了功能选项卡和功能区两个位置,这也是本文经常会提到的位置。我们的目的是想构建自己的功能选项卡模块,并在其中设置属于自己的按钮,这样可以方便点击使用。这样的按钮应该能做到在我们初始设置之后,任一打开excel的文件都可以使用,即不用反复添加,方便调用。
那么如何设置我们的按钮呢?步骤如下:
1、点击功能选项卡中的文件——选项——自定义功能区
图1-2 从图中我们可以看到,右侧有一栏是自定义功能区,我们需要创建自己的工具选项卡,以及相应的功能区按键。
2、点击右侧自定义功能区新建选项卡&#xff0c;点击右下方<新建选项卡>创建新的功能选项卡&#xff0c;命名为我的工具箱&#xff0c;同时将附带的新建组重命名为打印。
图1-33、现在我们点击确定&#xff0c;关闭EXCEL选项&#xff0c;实际的效果如图1-4所示&#xff0c;我们发现我们拥有了一个属于自己的<我的工具>选项卡&#xff1a;
图1-4
至此&#xff0c;我们完成了我们的第一个目标&#xff0c;即创建属于自己的功能卡&#xff0c;但我们发现里面没有任何属于我们自己的工具&#xff0c;这是我们下面要逐步解决的。
问题二&#xff1a;如何以宏的方式实现打印未隐藏的表单&#xff0c;并且每个表单分开编辑页脚页数&#xff0c;页数编号格式为&#xff1a;第X页&#xff0c;共X页&#xff1f;
这是我在实际工作中碰到的一个问题&#xff0c;即按表单进行打印&#xff0c;要求表单页脚页数分开编号。直接添加页脚&#xff0c;打印工作簿虽然可以很快将整个工作簿未隐藏表单打印&#xff0c;但页脚编号按照上述格式却无法完成。因此&#xff0c;我们尝试利用宏完成这个小任务。任务虽小&#xff0c;却在繁重的重复性工作要求下&#xff0c;可以迅速提高工作效率&#xff0c;减少手动点击错误的几率。
代码如下&#xff1a;
Sub printing()Dim ws As WorksheetFor Each ws In WorksheetsIf ws.Visible &#61; True ThenWith ws.PageSetup.CenterFooter &#61; "第&P页 总&N页"End Withws.PrintOutEnd IfNext
End Sub
我们打开VBA界面&#xff0c;创建新的模块&#xff0c;输入上述代码&#xff0c;过程我命名为printing。注意&#xff1a;该过程命名完成后我们要将其以 xla 的格式保存在固定的不变的电脑位置。这一步骤十分重要&#xff0c;因为将来在excel启动的时候&#xff0c;他将会自动检索我们的第一次引用该宏的位置。
图2-1如图2-1所示&#xff0c;我建议把插件保存在EXCEL默认的文件夹&#xff0c;当你点击保存类型为上图所示的类型时&#xff0c;保存路径会自动切换到EXCEL默认插件保存路径。
至此&#xff0c;我们的宏做完啦&#xff01;
问题三&#xff1a;如何让我们在问题二中所做的EXCEL宏能够运行在将来打开的任意一个EXCEL文件中&#xff1f;
在问题二中&#xff0c;我们保存了一个名称为<示例.xla>的文件&#xff0c;现在我们要把我们的宏加入到我们问题一中制作的<我的工具箱>选项卡中。依次点击文件——选项——加载项&#xff0c;该窗口下方有一个管理&#xff1a;&#xff0c;点击转到。
图3-1还记得我们在问题二中制作命名为<示例>的宏吗&#xff1f;现在我们发现加载项选项里&#xff0c;出现了我们自己命名的宏&#xff0c;选择后&#xff0c;点击确定后&#xff0c;就完成了在当前EXCEL的加载。但我们还需要将其设置我们的常用按钮。点击功能选项卡中的文件——选项——自定义功能区&#xff0c;在左侧我们看到<从下列位置选择命令>&#xff0c;在该选项块中我们选择<宏>&#xff0c;将我们制作的printing过程&#xff0c;通过中间的<添加>按钮&#xff0c;添加到我们的功能栏<我的工具箱>中&#xff0c;点击确定&#xff1a;
图3-2现在来看看我刚才创建的功能选项卡-<我的工具箱>:
图3-3至此&#xff0c;我们所有的工作均已完成&#xff0c;我们自己制作的宏可以一劳永逸地为我们提高效率&#xff0c;只要点击一下这个按钮&#xff0c;就可以实现我们在问题二中的要求&#xff0c;十分方便快捷。
问题四&#xff1a;发现一个小bug&#xff0c;为什么我将保存的xla文件删除后&#xff0c;每次打开都提示无法搜索到该xla文件&#xff0c;看着很麻烦&#xff0c;有没有解决的方法&#xff1f;
很多朋友发现&#xff0c;直接删除之前保存的xla文件后&#xff0c;每次打开EXCEL&#xff0c;EXCEL会不停提示你无法找到该文件&#xff0c;大大降低了打开EXCEL处理文件的速度。如图4-1所示&#xff1a;
图4-1该问题产生的原因在于&#xff0c;我们需要先从加载项中去掉打钩&#xff0c;变成空白后再删除相应的xla文件。而我们的操作是&#xff0c;并未在加载项中去掉打勾&#xff0c;而是直接删除了xla文件&#xff0c;造成EXCEL每次启动的时候都会自动检索。解决该问题的方法是&#xff0c;随便创建一个提示的同名文件&#xff0c;然后在加载项中取消打勾&#xff0c;再删除该xla文件&#xff0c;那么就不会出现上面的烦人提示了。
首先我们创建一个xla文件&#xff0c;命名为示例.xla。然后按照问题三开始的步骤&#xff0c;依次点击文件——选项——加载项&#xff0c;该窗口下方有一个管理&#xff1a;&#xff0c;点击转到。
图4-2将图4-2中<示例>行前面的黑色钩点击去掉&#xff0c;点击确定&#xff0c;之后我们关闭excel&#xff0c;然后再到存储该xla文件的文件夹中删除该文件&#xff0c;就不会出现问题四中的烦人提示框了&#xff01;
以上是我们这次关于宏的问题解决方法。对于初用EXCEL宏的朋友而言&#xff0c;是有一定的障碍。这些障碍不仅仅体现在VBA代码&#xff0c;有些是关于宏的基本设置。希望这篇文章能够帮助大家愉快轻松地使用宏&#xff0c;解决工作中那些重复性高、大量繁琐的EXCEL工作&#xff01;