wps 2005表格默认只能单个单元格数据复制到目标单元格。若是选中区域复制,则粘贴时也将粘贴至范围相同的区域,而不能粘贴到一个单元格中。
在某些特殊状况下需要先将区域中的数据合并再贴于目标单元格中,手工逐个操作显然事倍功半。本文讲述如何利用VBA自行编制一个“合并复制”功能。
本文假设您的WPS已安装VBA编辑器。
实现步骤:
一、建立“合并复制”工具按钮
1)新建工作表;
2)单击菜单【工具】【宏】【Visual Bisic编辑器】进入VBA代码编辑环境。
3)利用快捷键CTRL+R调出工程资源管理器,再双击工程资源管理器中的“ThisWorkbook”打开代码窗体。工程资源管理器见图1.
图1 工程资源管理器
4)在右边代码窗口输入以下代码:
5)代码解析:
第一句表示本代码在每次打开工作表时都执行;
第二句表示在常用工具栏添加一个按钮;
第三句表示按钮名字为“另类复制 CTRL+Q”;
第四句表示按钮影响的宏为“另类复制”;
第五句表示当鼠标移过按钮时显示的提示信息为“是不是感觉有用?”;
第六句表示在按钮前加入一条竖线。
另两句为结束语句。
光标置于代码任决位置后点F5执行本代码。然后回到ET工作表中,可以看到已添加了一个按钮。见图2所示。
图2 新建按钮
二、为按钮添加功能
1)再到第一步输入的代码后面继续输入以下代码:
2)代码解析
第一句表示宏名称;
第二句表示申明三个变量,并限制变量范围;
第三句表示当本程序有错时执行err标签后的代码;
第四句表示为变量i赋值,范围是1到选区单元格个数;
第五句和第六句共用表示用一个字符串将选择的区域中的所有字符合并起来,成为一个长字符串;
第七句表示将新字符串复制到 DataObject;
第八句表示将数据从 DataObject 移到剪贴板上,结束程序;
第九句表示定义一个标签,供On Error语句调用;
第十句表示程序出错时将弹出的提示语句;
三、关闭工作表时删除新建的按钮
1)前面的代码后面追加以下代码:
2)代码解析
第一句表示本代码在关闭工作表时执行;
第二句表示恢复“常用”工具栏;
第三句结速程序。
四、引用控件
在VBE环境中单击菜单【工具】【引用】以图3方式勾选引用的控件。
图3 引用控件
五、测试功能
1)在工作表中输入以下数据并插入一张图片。
图4 待合并复制的数据
2)选中A1:C1,单击“常用”工具栏新建的按钮------“合并复制”,然后在单元格E1粘贴数据;继续选中A2:C2再单击“合并复制”,粘贴至单元格E2;最后选择单元格区域A3:C4,并以同样方式粘贴至单元格E3.结果如图5所示。通过结果,可以验证工具设计成功。
图5 合并复制后的数据
3)编制工具需要有较好地防错功能,可工具也可以检测防错效果:选择工作表的图片,再单击按钮“合并复制”,程序立即弹出以下提示。
图6 错误提示
后记:VBA是Visual Basic For applications的简称,它以VB语言为基础,经过修改并运行在办公软件中的一种应用程序。它可以批量执行多功能集合,也可以用于设计一些WPS工具按钮中暂不具备的功能。灵活运用VBA代码可以使您的表格计算更高效,也能完成一些常规方法不能完成的任务。后续将针对VBA在其它领域的运用作阐述。(本文出自金山)