当前位置:首页教育技巧excel技巧excel表格单元

快速交换所选的两个单元格区域中的值

减小字体 增大字体 2025-12-09 09:21:33


有时候,我们需要将两个单元格区域中的数据对换,也就是说,第一个区域的数据放置到第二个区域,而第二个区域的数据放置到第一个区域。

通常,我们可以先将第一个区域的数据复制到另一个地方,然后将第二个区域的数据复制到第一个区域,最后将先前复制到另一个地方的数据复制到第二个区域。

然而,使用VBA代码可以帮助我们快速完成任务,如下图1所示。

图1

代码如下:

‘交换所选择的两个单元格区域

Sub SwapTwoRanges()

Dim rng As Range

Dim rngTemp As Variant

‘要交换的区域

Set rng = Selection

‘判断是否是两个区域且它们大小相同

If rng.Areas.Count <> 2 Or _

rng.Areas(1).Cells.Count <> _

rng.Areas(2).Cells.Cells.Count Then

MsgBox “请选择两个大小相同的区域”

Exit Sub

End If

‘临时存储第一个区域的数据

rngTemp = rng.Areas(1).Cells.Formula

‘将第二个区域的数据输入到第一个区域

rng.Areas(1).Cells.Formula = rng.Areas(2).Cells.Formula

‘将第一个区域的数据填到第二个区域

rng.Areas(2).Cells.Formula = rngTemp

End Sub

注意,运行代码前需要先选择两个相同大小的区域,也就是要交换数据的区域。

代码的图片版如下:

评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

【免责声明】本站信息来自网友投稿及网络整理,内容仅供参考,如果有错误请反馈给我们及时更正,对文中内容的真实性和完整性本站不提供任何保证,不承但任何责任。
版权所有:学窍知识网 Copyright © 2011-2026 www.at317.com All Rights Reserved .