VBA学习笔记之Range.Resize属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBA学习笔记之Range.Resize属性相关的知识,希望对你有一定的参考价值。

‘Range.Resize 属性
‘调整指定区域的大小。返回 Range 对象,该对象代表调整后的区域。
‘语法
表达式.Resize(行数, 列数)
‘表达式 一个返回 Range 对象的表达式。

1 Sub test()
2 [a1].Resize(2, 3).Select
3 [a1].Resize(2).Select
4 [a1].Resize(, 3).Select
5 End Sub

注意:Resize是Range本身开始从"1"算起的,[a1].resize(1,1);

但是Offset是Range本身开始从"0"算起的,[a1].offset(0,0);

以上两行代码都返回a1这个区域

简记:Resize包括原本区域进行扩展;Offset不包括原本区域进行偏移

1 Sub 保存()把sheet1里的部分数据拷贝到sheet2
2 Dim i%, j%, k%
3 i = [a1].CurrentRegion.Rows.Count - 1
4 j = [a1].CurrentRegion.Columns.Count
5 k = Application.CountA(Sheet2.Columns(1))调用工作表函数,计算sheet2第一列非空行数,使得偏移后数据不重叠
6 [a2].Resize(i, j).Copy Sheet2.[a1].Offset(k)
7 End Sub

注意:这里的k的意义是重复运行次过程时数据不会重叠

效果图:技术分享

 





以上是关于VBA学习笔记之Range.Resize属性的主要内容,如果未能解决你的问题,请参考以下文章

VBA学习笔记之End属性&查找最后的单元格方法总结

VBA学习笔记之图形基础

VBA学习笔记之循环

VBA学习笔记之工作表

[原创]java WEB学习笔记59:Struts2学习之路---OGNL,值栈,读取对象栈中的对象的属性,读取 Context Map 里的对象的属性,调用字段和方法,数组,list,map(代码片

VBA学习笔记之VBA学习思路