如何實(shí)現(xiàn)Excel表格中兩個(gè)單元格區(qū)域間的數(shù)據(jù)交換呢?通常我們使用剪切粘貼的方法來(lái)完成,但這個(gè)方法比較繁瑣,如果數(shù)據(jù)區(qū)域較大還容易出錯(cuò)。下面我們?cè)囍鴣?lái)編寫(xiě)一個(gè)可以實(shí)現(xiàn)該功能的“宏”吧。
打開(kāi)“工具”菜單中的“宏”,選擇“錄制新宏”命令,在個(gè)人宏工作簿中(Personal.xls)創(chuàng)建一個(gè)名為Exchange 的宏,代碼如下:
代碼:
'判斷用戶(hù)是否選擇了兩個(gè)單元格或單元格區(qū)域
If Selection.Areas.Count = 2 Then
Set XR = Selection.Areas(1)
Set YR = Selection.Areas(2)
'判斷選區(qū)是否重疊
If Not Intersect(XR, YR) Is Nothing Then
Result = MsgBox(" 選擇區(qū)域有重疊!交換后重疊區(qū)域的數(shù)據(jù)將有部份被覆蓋!" & vbCrLf & " 是否繼續(xù)?", vbYesNo)
If Result = vbNo Then Exit Sub
End If
If XR.Rows.Count = YR.Rows.Count And XR.Columns.Count = YR.Columns.Count Then
'交換選區(qū)
SZ1 = XR.Formula
SZ2 = YR.Formula
XR = SZ2
YR = SZ1
Else
MsgBox "選擇的兩個(gè)數(shù)據(jù)區(qū)域大小不一樣!請(qǐng)確認(rèn)重新選擇!"
End If
Else
MsgBox "請(qǐng)按住Ctrl鍵選擇兩個(gè)要交換的數(shù)據(jù)區(qū)域!"
自定義一個(gè)工具欄按鈕,并將創(chuàng)建的宏指定給該按鈕即可(如圖)。如果選中的兩個(gè)單元格的區(qū)域大小(單元格個(gè)數(shù))不同或選擇的數(shù)據(jù)少于2個(gè),系統(tǒng)將會(huì)給出相應(yīng)的出錯(cuò)提示。
用宏交換
新聞熱點(diǎn)
疑難解答
圖片精選