编写Excel宏 轻松完成单元格数据互换

如何实现Excel表格中两个单元格区域间的数据交换呢?通常我们使用剪切粘贴的方法来完成,但这个方法比较繁琐,如果数据区域较大还容易出错。下面我们试着来编写一个可以实现该功能的“宏”吧。

打开“工具”菜单中的“宏”,选择“录制新宏”命令,在个人宏工作簿中(Personal.xls)创建一个名为Exchange 的宏,代码如下:


代码:

'判断用户是否选择了两个单元格或单元格区域
If Selection.Areas.Count = 2 Then
Set XR = Selection.Areas(1)
Set YR = Selection.Areas(2)
'判断选区是否重叠
If Not Intersect(XR, YR) Is Nothing Then
Result = MsgBox(" 选择区域有重叠!交换后重叠区域的数据将有部份被覆盖!" & vbCrLf & " 是否继续?", vbYesNo)
If Result = vbNo Then Exit Sub
End If
If XR.Rows.Count = YR.Rows.Count And XR.Columns.Count = YR.Columns.Count Then
'交换选区
SZ1 = XR.Formula
SZ2 = YR.Formula
XR = SZ2
YR = SZ1
Else
MsgBox "选择的两个数据区域大小不一样!请确认重新选择!"
End If
Else
MsgBox "请按住Ctrl键选择两个要交换的数据区域!"

自定义一个工具栏按钮,并将创建的宏指定给该按钮即可(如图)。如果选中的两个单元格的区域大小(单元格个数)不同或选择的数据少于2个,系统将会给出相应的出错提示。



(0)

相关推荐

  • 编写Excel宏,轻松完成单元格数据互换 1

    如何实现Excel表格中两个单元格区域间的数据交换呢?通常我们使用剪切粘贴的方法来完成,但这个方法比较繁琐,如果数据区域较大还容易出错。下面我们试着来编写一个可以实现该功能的“宏”吧。 打开“工具”菜 ...

  • 如何隐藏excel表格中的单元格数据

    今天给大家介绍一下如何隐藏excel表格中的单元格数据的具体操作步骤.1. 首先打开电脑,找到想要编辑的Excel表格打开或者新建一个Excel表格打开都可以.2.小编选择新建一个,然后在里面输入一些 ...

  • Excel怎么快速填充单元格数据

    Excel是现在十分常用的一款办公软件,有些新用户不知道怎么快速填充单元格数据,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步打开电脑中需要编辑的Excel文档.根据下图所示,小 ...

  • Excel如何筛选指定单元格数据

    Excel是现在十分常用的一款办公软件,有些新用户不知道如何筛选指定单元格数据,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步先打开电脑中的Excel文档,接着按照需求选择单元格 ...

  • Excel怎么隔行隐藏单元格数据

    Excel是现在十分常用的办公软件之一,有些新用户不知道该软件怎么隔行隐藏单元格数据,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步根据下图箭头所指,打开电脑中的Excel文档. ...

  • Excel如何轻松实现单元格内换行

    Excel中经常会用到单元格内的换行,那么Excel如何轻松实现单元格内换行呢?接下来小编就教教大家如何操作. 操作方法 01 首先鼠标左键点击文字过长的单元格. 02 然后点击"开始-自动 ...

  • Excel小技巧--合并单元格数据

    日常Excel处理中,经常会遇到需要合并单元格数据的要求,数据量少的时候,手动一条一条合并,似乎不见麻烦,但当数据量大的时候,一行一行的合并,估计看得眼都花,费劲费时外,还容易出错. 操作方法 01 ...

  • EXCEL中怎么引用单元格数据进行计算

    今天在工作时遇到需要计算的任务,是一个现场给出了电缆长度,想知道容性电流,我们知道,有一个公式,代入就可以了,主要是计算比较麻烦,然后我就利用原始数据做了一个EXCEL2007的文件,在EXCEL中计 ...

  • Excel如何对合并单元格数据进行排序

    如果excel中有合并单元格数据,如何对其进行排序呢?这个与一般的排序操作有点不同,下面来看看对合并单元格数据排序的方法. 操作方法 01 在电脑中新建一个excel文档:在桌面空白处右击,点击列表中 ...