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

2025-12-22 10:27 来源:学会计 阅读量:157

导读:有时需要在Excel工作表中互换两个区域中的数据,如果区域相邻可以直接用拖动鼠标并按住Shift键的方法进行互换。而当两区域不相邻且两个区域中的数据量较大时用VBA则较为快捷。例如在互换两列时可以直接单击工作表上方的列标题选择整列,然后执行代码互换数据。 在工作表中选择两个形状相同的、无公共部分的区域,然后执行下面的代码,即可互换两区域中的数据。 Sub T

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

您正在与金牌答疑老师聊天