位置:首頁 > 軟件操作教程 > 辦公軟件 > Excel > 問題詳情

如何實現(xiàn)Excel表格中兩個單元格區(qū)域間的數(shù)據(jù)交換?

提問人:周麗平發(fā)布時間:2021-08-19

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

代碼:

'判斷用戶是否選擇了兩個單元格或單元格區(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 "選擇的兩個數(shù)據(jù)區(qū)域大小不一樣!請確認重新選擇!"

End If

Else

MsgBox "請按住Ctrl鍵選擇兩個要交換的數(shù)據(jù)區(qū)域!"

自定義一個工具欄按鈕,并將創(chuàng)建的宏指定給該按鈕即可(如圖)。如果選中的兩個單元格的區(qū)域大小(單元格個數(shù))不同或選擇的數(shù)據(jù)少于2個,系統(tǒng)將會給出相應(yīng)的出錯提示。

image.png 

用宏交換區(qū)域

繼續(xù)查找其他問題的答案?

回復(fù)(0)
返回頂部