excel用VBA互换两个单元格或区域中的数据
有时需要在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
版权声明
本文仅代表作者观点,不代表本站立场。
本站资源均来自互联网整理,版权归原作者所有,切勿用作非法使用和未经授权的商用,因此带来的法律风险与本站无关。
- 上一篇: excel用VBA将文本字符串的首字母变成大写
- 下一篇: excel中VBA删除工作簿中的所有批注
发表评论