当前位置:软件学习 > 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个,系统将会给出相应的出错提示。

办公软件知识学习,尽在www.zzzyk.com 电脑知识网

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,