萬盛學電腦網

 萬盛學電腦網 >> Excel教程 >> excel綜合 >> 編寫Excel宏 輕松完成單元格數據互換

編寫Excel宏 輕松完成單元格數據互換

  如何實現Excel表格中兩個單元格區域間的數據交換呢?通常我們使用剪切粘貼的方法來完成,但這個方法比較繁瑣,如果數據區域較大還容易出錯。下面我們試著來編寫一個可以實現該功能的“宏”吧。

  打開“工具”菜單中的“宏”,選擇“錄制新宏”命令,在個人宏工作簿中(Personal.xls)創建一個名為Exchange 的宏,代碼如下:

 

代碼:

  '判斷用戶是否選擇了兩個單元格或單元格區域
If Selection.Areas.Count = 2 Then
Set XR = Selection.Areas(1)
Set YR = Selection.Areas(2)
'判斷選區是否重疊
If Not Intersect(XR, YR) Is Nothing Then
Result = MsgBox(" 選擇區域有重疊!交換後重疊區域的數據將有部份被覆蓋!" & vbCrLf & " 是否繼續?", vbYesNo)
If Result = vbNo Then Exit Sub
End If
If XR.Rows.Count = YR.Rows.Count And XR.Columns.Count = YR.Columns.Count Then
'交換選區
SZ1 = XR.Formula
SZ2 = YR.Formula
XR = SZ2
YR = SZ1
Else
MsgBox "選擇的兩個數據區域大小不一樣!請確認重新選擇!"
End If
Else
MsgBox "請按住Ctrl鍵選擇兩個要交換的數據區域!"

  自定義一個工具欄按鈕,並將創建的宏指定給該按鈕即可(如圖)。如果選中的兩個單元格的區域大小(單元格個數)不同或選擇的數據少於2個,系統將會給出相應的出錯提示。

編寫Excel宏完成單元格數據互換

copyright © 萬盛學電腦網 all rights reserved