转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件使用 >> 办公软件 >> 正文
通过VBA中的Union合并多个Range选择区域         ★★★★

通过VBA中的Union合并多个Range选择区域

作者:闵涛 文章来源:闵涛的学习笔记 点击数:996 更新时间:2010/6/21 21:22:05

  在Excel中,Union的功能是合并两个或两个以上的选择区域,合并成为一个更大的区域。

  所合并的多个选择区域,这些选择区域,可以是不连续的,也可以是连续的。

  一般情况下,要使用Union,可通过如下来使用。

  expression.Union(Arg1, Arg2, ...)

  expression参数为可选。该表达式返回一个Application对象;

  Arg1, Arg2, ...   Range 类型,必需。必须至少指定两个Range对象。

  在使用Union的时候,我们也没有必要使用expression.Union,直接调用Application.Union方法即可。

  一、最不灵活的实例  

  Dim MyArea1, MyArea2 As Range
  Set MyArea1 = Range("A1:B3")
  Set MyArea2 = Range("A7:B10")
  Application.Union(MyArea1, MyArea2).Select

  如上代码,功能是,首先定义两个选择区域,然后,分别设置选择区域为:A1:B3和A7:B10;最后,通过Application.Union把两个选择区域进行合并,并将合并后的区域选中。

  当然,Application.Union合并区域,功能是强大的,但是,至少要有两个选择区域;如果有多个,也是可行的,如下代码,通过Application.Union合并三个选择区域,并将其选中。

  Dim MyArea1, MyArea2, MyArea3 As Range
  Set MyArea1 = Range("A1:B3")
  Set MyArea2 = Range("A7:B10")
  Set MyArea3 = Range("A12:B14")
  Application.Union(MyArea1, MyArea2, MyArea3).Select

  以上代码大家都看了,有没有发现问题呢?

  当我们在设定选择区域的时候,必须在Range("")指明从哪个单元格到哪个单元格,比如Range("A12:B14")
,那是多么的麻烦。

  下面,给大家介绍一下更为灵活方便的方法。

  二、较为灵活方便的方法

  要选择多个区域并合并,使用单元格名称来确定区域,是多么的不方便。

  我们完全可以使用行列的序号来代替单元格名称。

  如下代码:

  Dim MyArea1, MyArea2, MyArea3 As Range
  Set MyArea1 = Range(Cells(1, 1), Cells(3, 3))
  Set MyArea2 = Range(Cells(6, 1), Cells(9, 3))
  Set MyArea3 = Range(Cells(12, 1), Cells(13, 3))
  Application.Union(MyArea1, MyArea2, MyArea3).Select

  就是这样,通过Range(Cells(1, 1), Cells(3, 3))来代替Range(“A1:C3”)。

  知道为什么要这么使用吗,愿意就是,当您试图通过VBA来确定单元格名称,如A1:C3时,难以构造这样的字符连接。倒不如直接使用行列所在的序号进行替代,因为Cells(行号、列号),里面的行列号,我们可以通过直接指定或者通过循环赋予一个值。

  三、更灵活的实例

  基于以上两个实例,下面,我们可以构造一个更为灵活的实例。先看如下代码吧:

  Application.Union(Range(Cells(1, 1), Cells(11, 3)), Range(Cells(16, 1), Cells(16, 3)), Range(Cells(21, 1), Cells(32, 3))).Select

  上述代码中,已经不再单独定义Range对象了,而是在Union方法中,直接调用Range(Cells(1, 1), Cells(11, 3))来合并被选择的单元格区域。


[办公软件]excel中的VBA中的With语句的使用介绍及实例  [办公软件]在vba中使用FreezePanes冻结Excel窗口的代码
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · 办公软件  · 系统软件
    · 常用软件  · 聊天工具
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台