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在其它領域的運用作闡述。(本文出自金山)
新聞熱點
疑難解答