萬盛學電腦網

 萬盛學電腦網 >> 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