有时候,我们需要将两个单元格区域中的数据对换,也就是说,第一个区域的数据放置到第二个区域,而第二个区域的数据放置到第一个区域 。
通常,我们可以先将第一个区域的数据复制到另一个地方,然后将第二个区域的数据复制到第一个区域,最后将先前复制到另一个地方的数据复制到第二个区域 。
然而,使用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
注意,运行代码前需要先选择两个相同大小的区域,也就是要交换数据的区域 。
代码的图片版如下:
文章插图
推荐阅读
- VBA快速处理上标
- 怎么快速将多列数据转换成多行数据
- 脸脱皮怎么办快速恢复
- 怎样快速去痘印
- 怎么快速去除黑眼圈
- 抖音如何快速到9级灯牌?如何加入粉丝团?
- excel图表快速合并所选单元格中的所有数据
- excel图表中快速找到工作表
- excel怎样快速插入新工作表
- 奇门遁甲——如何快速学好奇门