1、resize属性的语法 Range.Resize(行数,列数) 它返回的是一个单元格对象,以单元格区域的第一个单元格(左上角)为起点, 同时向右向下扩展对应的行数和列数。 range('a1').Resize(5, 3).Select '相当于RANGE('A1:C5')
range('a1:c5').Resize(2, 2).Select '相当于range('A1:B2')
range('b5:d7').Resize(10, 10).Select '相当于range('b5:k14')
2、RESIZE的行、列参数均可省略,但不能同时省略。 省略的行、列和原单元格对象一致。 省略行:range('a3:b8').Resize(, 3).Select
行数与range('a3:b8')一致(不变) 省略列:range('a3:b8').Resize(4).Select,注意列参数省略是连逗号都省略了的。 range('a3:b8').Resize(4,).Select '这种写法会出错。
列数不变 出错的列参数写法
3、RESIZE的行、列参数都可以使用变量。 常见的用法是用来输出数组到工作表,或者数组取单元格区域的值等。 【小练习】按部门筛选。 参考代码: Sub vv() Dim X As String '部门 X = Application.InputBox(prompt:='请输入部门', Type:=2) '输入部门 [a1:c1].Copy [f1] '复制标题 k = 1 For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row '遍历数据 If Cells(i, 1) = X Then '部门符合要求则 k = k + 1 '计数 Cells(i, 1).Resize(1, 3).Copy Cells(k, 'f') '复制表格整行数据(1行3列) End If Next End Sub
|