为W 表格增加选择性粘贴——连接

文章作者 100test 发表时间 2007:09:29 13:51:33
来源 100Test.Com百考试题网


  WPS表格2005的选择性粘贴中的运算项有加减乘除运算,唯独没有&.运算(即连接),见图一所示。这使工作中某些需求难以满足。

图一成绩表

  假设需要输入以下内容,因没有连接功能,只好将重复的字符重复的输入,无疑降低了工作效率。

  客户地址

  广东省东莞市全兴有限公司

  广东省东莞市宏运有限公司

  广东省东莞市中天有限公司

  广东省东莞市月满楼有限公司

  广东省东莞市兴又盛有限公式

  解决思路:

  用VBA为WPS表格2005增设一个“选择性粘贴——连接”的功能,置于右键菜单方便调用。

  步骤1.建立“选择性粘贴——连接”的功能的宏

  本例假设你的WPS已具备VBA环境;

  1.新建工作簿;

  2.用快捷键ALT F11打开VBE环境;

  3.单击菜单【插入】\【模块】,在模块中输入以下代码:

  Sub选择性粘贴__连接() DimrngAsString,NewShtAsString,OldShtAsString,texts,iAsByte,ansAsByte IfActiveSheWPS表格.ProtectContentsThenMsgBox"工作表已保护,本程序拒绝执行!",64,"提示":ExitSub OnErrorGoToendd rng=Selection.Address OldSht=ActiveSheWPS表格.Name Application.DisplayAlerts=False WorksheWPS表格s.Add NemSht=ActiveSheWPS表格.Name Range("a1").Select ActiveSheWPS表格.Paste IfActiveSheWPS表格.UsedRange.Count>1Then MsgBox"只能连接单个单元格的值。",64,"andysky" GoToendd EndIf texts=Selection.Text Application.ScreenUpdating=True SheWPS表格s(OldSht).Select ans=InputBox("请选择连接于目标前还是连接于目标后。"&.Chr(10)&."1:连接于目标之前;"_ &.Chr(10)&."2:连接于目标之后。","连接方式",1) Fori=1ToSelection.Count If--ans=1ThenSelection(i)=texts&.Selection(i) If--ans=2ThenSelection(i)=Selection(i)&.texts Next endd: WorksheWPS表格s(NemSht).DelWPS表格e EndSub

  步骤2.将宏功能加入右键菜单中

  1.用快捷键CTLR R打开“工程资源管理器”,在左边的窗格中找到“ThisWorkbook”并双击;

  2.在右边的代码窗口输入以代码(两段代码:第一段为将工能加到右键菜单,另一段为关闭Excel时恢复右键):

  PrivateSubWorkbook_Open() WithApplication.CommandBars("cell").Controls.Add(Type:=msoControlButton,before:=4,Temporary:=True) .Caption="选择性粘贴__连接(&.Paste)" .OnAction="选择性粘贴__连接" EndWith EndSub PrivateSubWorkbook_BeforeClose(CancelAsBoolean) Application.CommandBars("CELL").ResWPS表格 EndSub



相关文章


巧用W “查找和替换”功能提高工作效率
快速搞定W 常用模板设置的两则小技巧
利用W 文字快速制作美观的流程图
W 表格函数在发票金额录入中的妙用
为W 表格增加选择性粘贴——连接
W Office2007发布W 文字抢先试用
金山W Office实用自动化技巧四则
金山W Office文档编辑实用技巧五则
三个优化操作让W 文档结构图更好用
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛