分享

[VBA教学3.18]数据的保存,resize属性详解

 L罗乐 2017-08-23

本节课是VBA教学的第三章第18节课:数据的保存,resize属性详解。内容以数据保存的例子,来讲解重新调整单元格格式resize属性的详细用法。


▼resize属性介绍


写法:Range.Resize 

定义:调整指定区域的大小。返回 Range 对象,该对象代表调整后的区域。

语法:表达式.Resize(行数, 列数)。一个返回 Range 对象的表达式。



▼resize代码介绍


Sub test()

[a1].Resize(2, 3).Select 

[a1].Resize(2).Select  

[a1].Resize(, 3).Select

End Sub


代码解释:

[a1].Resize(2, 3).Select :以A1单元格为起始区域移动2行、3例,并对区域进行选择,选择后区域为A1:C2区域(PS:移动时单元格所在位置记为1



▼实际案例:单据的保存


将sheet1的数据保存到sheet2对应位置。

Sub 保存()

Dim i%, j%, k%

i = [a1].CurrentRegion.Rows.Count - 1

j = [a1].CurrentRegion.Columns.Count

k = Application.CountA(Sheet2.Columns(1))

[a2].Resize(i, j).Copy Sheet2.[a1].Offset(k)

End Sub


代码解释:

1、Dim i%, j%, k% :定义变量i、j、k

2、i = [a1].CurrentRegion.Rows.Count - 1:以A1单元格为起始位置,对CurrentRegion当前行数进行拓展,拓展行数为对当前已有行数进行判断计数,因为要减去A1本身所在的位置,所以减去1;

3、j = [a1].CurrentRegion.Columns.Count以A1单元格为起始位置,对CurrentRegion当前列数进行拓展,拓展列数为对当前已有的列数进行判断计数,与行不一样,列数不用减去当前所在位置,所以没有减1;

4、k = Application.CountA(Sheet2.Columns(1)):调用工作表函数counta,对sheet2的列数进行非空计算,以便保存数据的时候确定保存的起始位置;

5、[a2].Resize(i, j).Copy Sheet2.[a1].Offset(k):将A2单元格作为起始位置,对拓展区域进行复制,并将复制的值以sheet2表格A1单元格区域开始,空值的位置进行粘贴。

注意点:

1、resize属性会从单元格当前位置进行计算拓展区域;

2、CurrentRegion属性之前文本以有做阐述,如需学习请输入:CurrentRegion


温馨提醒:如需下载本节课内容,请输入:资料下载318


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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多