有时需要在Excel工作表中互换两个区域中的数据,如果区域相邻可以直接用拖动鼠标并按住Shift键的方法进行互换。而当两区域不相邻且两个区域中的数据量较大时用VBA则较为快捷。例如在互换两列时可以直接单击工作表上方的列标题选择整列,然后执行代码互换数据。
在工作表中选择两个形状相同的、无公共部分的区域,然后执行下面的代码,即可互换两区域中的数据。
Sub TwoAreasSwap()
Dim TheArea1, TheArea2 As Variant
If Selection.Areas.Count <> 2 Then
MsgBox "请选择两个区域!"
Exit Sub
ElseIf Selection.Areas(1).Cells.Count <> Selection.Areas(2).Cells.Count Or _
Selection.Areas(1).Rows.Count <> Selection.Areas(2).Rows.Count Then
MsgBox "请选择两个形状相同的区域!"
Exit Sub
Else
TheArea1 = Selection.Areas(1).Cells
TheArea2 = Selection.Areas(2).Cells
Selection.Areas(1).Cells = TheArea2
Selection.Areas(2).Cells = TheArea1
End If
End Sub
……