Excel利用VBA互換兩個(gè)單元格或區(qū)域中的數(shù)據(jù)
有時(shí)需要在Excel工作表中互換兩個(gè)區(qū)域中的數(shù)據(jù),如果區(qū)域相鄰可以直接用拖動(dòng)鼠標(biāo)并按住Shift鍵的方法進(jìn)行互換。而當(dāng)兩區(qū)域不相鄰且兩個(gè)區(qū)域中的數(shù)據(jù)量較大時(shí)用VBA則較為快捷。例如在互換兩列時(shí)可以直接單擊工作表上方的列標(biāo)題選擇整列,然后執(zhí)行代碼互換數(shù)據(jù)。
在工作表中選擇兩個(gè)形狀相同的、無公共部分的區(qū)域,然后執(zhí)行下面的代碼,即可互換兩區(qū)域中的數(shù)據(jù)。
Sub TwoAreasSwap()Dim TheArea1, TheArea2 As VariantIf Selection.Areas.Count <> 2 ThenMsgBox "請選擇兩個(gè)區(qū)域!"Exit SubElseIf Selection.Areas(1).Cells.Count <> Selection.Areas(2).Cells.Count Or _Selection.Areas(1).Rows.Count <> Selection.Areas(2).Rows.Count ThenMsgBox "請選擇兩個(gè)形狀相同的區(qū)域!"Exit SubElseTheArea1 = Selection.Areas(1).CellsTheArea2 = Selection.Areas(2).CellsSelection.Areas(1).Cells = TheArea2Selection.Areas(2).Cells = TheArea1End IfEnd Sub