当前位置: 主页 > Office办公 > Excel专区 > Excel函数 > excel利用VBA互换两个单元格或区域中的数据

excel利用VBA互换两个单元格或区域中的数据

  • 2023-02-22
  • 来源/作者: Wps Office教程网/ 菜鸟图库
  • 132 次浏览

有时需要在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