怎么将range函数以列表形式输出
Range并不是Excel中的函数,而是VBA中VBA代码中最常用的对象,Range对象可以是某一单元格、某一单元格区域、某一行、某一列、或者是多个连续或非连续的区域组成的区域。下面一个简单的VBA程序,可以全面地理解Range对象的用法,以及与Cells的区别。SubRangVsCellsDemo()Dimr'1.先看Range和Cells的定义'A.Range的定义为ClassRange,表示Range是一个类,可以根据其所带的参数构造一个Range对象'B.Cells的定义为PropertyCellsAsRange,表示Cells是一个属性,返回一个Range对象,具体应'用于不同对象时返回对象不同(帮助时说的明白)'2.Cells主要作用在于他可以简洁的返回一个Range对象,而使用Range的构造方法相对代码比较长'比如在2003里,单个的Cells就相当于Range("1:65536"),显然,用前者更简洁明了,顺便提一下,Cells后带'括号的用法应是Range对象Item属性的用法,因为Item属性是Range对象的默认属性,Item省略写'出来罢了Range("1:65536")(2,3).Select'选取C2单元格Range("1:65536")(2,"d").Select'选取D2单元格Range("1:65536")(2565).Select'选取E2单元格Cells(2,3).Select'选取C2单元格Cells(2,"d").Select'选取D2单元格Cells(2565).Select'选取E2单元格'3.Cells为属性,所以,只有定义了该属性的特定对象才能使用,并且返回特定的Range对象,总的来讲是返'回对象的全部单元格,特别注意,这里所讲的全部并不是我们肉眼所看到的,对于有的联合区域,返回的单元格'与想象的有点差别,比如Range("A1:C5,B2:D6").Cells.Count返回值是30,而我们肉眼看到A1:C5和B2:D6'两片区域的单元格个数只有22个Setr=Cells'应用于Application对象,Application省略Setr=Application.Cells'应用于Application对象Setr=Worksheets(1).Cells'应用于Worksheet对象Setr=Range("A1:C5,B2:D6").Cells'应用于Range对象,这个就我个人而言,找不出很好的应用'4.Range为类类型,可以通过不同的方法构造Range对象'a.用区域名称,用A1样式引用的宏语言Setr=Range("A1:B2")'区域操作符(冒号)Setr=Range("A1:C5B2:D6")'相交区域操作符(空格)Setr=Range("A1:C5,B2:D6")'合并区域操作符(逗号)'Setr=Range("UserRng")'自定义名称,要先建立自定义名称UserRng'b.区域左上角和右下角的单元格Setr=Range(Range("A1"),Range("IV65536"))EndSub