分享

range对象Resize属性

 L罗乐 2018-06-15

Resize属性以指定单元格区域的左上角单元格为起点包括原单元格本身向右向下扩展指定的行数和列数,得到一个新的单元格区域,新区域的大小和地址都可能发生了变化。

Resize属性简介


Resize属性的语法为:

Range.Resize(RowSize,ColumnSize)

RowSize:   Variant 类型,可选。新区域中的行数。如果省略该参数,则该区域中的行数保持不变。

ColumnSize:  Variant类型,可选。新区域中的列数。如果省略该参数。则该区域中的列数保持不变。

Resize短语练习


 练习1:

1Sub Resize单元格返回区域()
2    
Range('A1').Resize(1, 3).Select'选中单元格A1:C1区域
3  
 Range('A1').Resize(2, 3).Select'选中A1到C2单元格区域
4     End Sub

根据指定单元格使用Resize对区域进行拓展调整返回新区域


练习2:

1Sub resize省略()
2    Range('A1').Resize(, 3).Select  '选择单元格A1:C1区域
3    
Range('A1').Resize(3).Select  '选择单元格A1:A3区域
4End Sub

Resize参数省略的情况,与起始单元格相同的行中进行拓展时,可以省略第一个参数,如果省略了第2个参数,则仅向下调整单元格区域行。

 练习3:

1Sub resize根据区域选择()
2    Range('A1:D3').Resize(4, 6).Select  '从A1开始向右选择4行6列
3
End Sub

 resize在单元格区域的调整都是以单元格左上角为起点的移动的,但在参数省略的情况下会有不同。

练习4:

1Sub resize练习()
2     Range('A1:E5').Resize(3, 2).Select '单元格从A1开始选中3行2列
3
End


上面的代码,以单元左上角的单元格为起始返回新区域,这个区域比原来的区域小

练习5:

1 Sub resize组合使用()
2             Range('b4').EntireRow.Range('a1:e1').Select
3 End Sub 

Resize和Entirerow组合使用,先获取Range('B4')所在的行,以此行为第一行,重新指定区域,以活动单元b4为起始单元格,选中A4到E4的区域


与Offset属性不同点:

1.Resize属性的参数不能为负,即不能向上或向左扩展;

2.Resize行数、列数的取值范围为正整数;

3.调整最低值是1,不能为0;



Resize综合案例


如上表所示,筛选其中一个部门的人员到sheet2工作表中

代码如下:

1Sub 筛选名单()
2Dim rng As Range
3Dim n As Integer
4 Sheet1.Range('A1:d1').Copy Sheet2.Range('A1:D1')
5For Each rng In Sheet1.Range('A2:d8')
6    If rng.Value = '客服部' Then  '选择客服部
7    n = n 1
8    Sheet2.Cells(n 1, 'a').Resize(1, 3) = rng.Resize(1, 3).Value '新区域
9    End If
10Next rng
11End Sub

运行代码后,筛选部门的名单就会出现在sheet2工作表中啦!

以上是本期分享的内容,小伙伴们,不要因为工作忙就忘记学习VBA哟!



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多