怎么为WPS表格增加选择性粘贴?
WPS表格2005的选择性粘贴中的运算项有加减乘除运算,唯独没有&运算(即连接),见图一所示。这使工作中某些需求难以满足。图一成绩表
假设需要输入以下内容,因没有连接功能,只好将重复的字符重复的输入,无疑降低了工作效率。
客户地址
广东省东莞市全兴有限公司
广东省东莞市宏运有限公司
广东省东莞市中天有限公司
广东省东莞市月满楼有限公司
广东省东莞市兴又盛有限公式
解决思路:
用VBA为WPS表格2005增设一个“选择性粘贴——连接”的功能,置于右键菜单方便调用。
步骤1。建立“选择性粘贴——连接”的功能的宏
本例假设你的WPS已具备VBA环境;
1。新建工作簿;
2。用快捷键ALT...全部
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。收起