编写Excel宏 轻松完成单元格数据互换 点击:88 | 回复:0



PLC酷客

    
  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-10-30 16:59:27
楼主

编写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个,系统将会给出相应的出错提示

 



楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师