分享

VBA清零代码的各种实战写法

 剩矿空钱 2019-03-01

在写VBA代码的时候,经常会用到清零。所谓清零就是清空数据。为什么要清空数据呢?目的就是马上要有新的数据填充进来,以免新填入的数据错误。如果你是VBA的新手,务必要养成这个习惯,当有新的数据填充时,在此前要将旧的数据清空,切记切记。

在实际的代码书写中,会用到各式各样的方法进行数据的清空。下面就各个程序中的源代码拿来和大家分享。由于是源代码,只是截取了其中的部分,没有涉及到其他的操作,代码可能不能运行,如果要测试需要放在实际的代码环境中。

代码一:

20 Dim ws As Worksheet

21 Dim wb As Workbook

22 Set wb = ThisWorkbook '指定工作簿

23 Set ws = wb.Sheets('TT') '指定工作表名称

24 HANG = 'a2:P3000'

25 ws.Range(HANG).Clear

代码讲解:首先设定行单元格的范围,然后CLEAR.

代码二

20 Dim ws As Worksheet

21 Dim wb As Workbook

22 Set wb = ThisWorkbook '指定工作簿

23 Set ws = wb.Sheets('TT') '指定工作表名称

24 HANG = 'a2:P3000'

25 ws.Range(HANG). ClearContents

代码讲解: 首先设定行单元格的范围,然后ClearContents

代码三:

10 Sheets('TT').Selecct

11 Rows('3:200').Select

12 Selection.Delete

代码讲解:对固定的行数进行选择,然后统统删除,一了百了。

代码四:

10 Dim ws As Worksheet

11 Dim wb As Workbook

12 Set wb = ThisWorkbook '指定工作簿

13 Set ws = wb.Sheets('cz') '指定工作表名称

14 n = ws.Range('A65536').End(xlUp).Row

15 If n > 3 Then

16 HANG = '2:' & n

17 wb.Sheets('cz').Rows(HANG).ClearContents

18 End If

代码讲解:首先判断非空的行数,然后再ClearContents

代码五:

11 Sheets('TT').Selecct

12 Range('A2:j3000').Clear

代码讲解:直接对已知的区域进行CLEAR

上面分别讲了五种常见代码的写法,这五种方法其实也有相同之处。不再多说,这里再给大家讲解的是如下几点:

1 首先要判断是对已知固定区域的清空还是非固定区域的清空。如果是已知的固定区域,直接就写清区域范围即可;如果是非固定区域,那么就要判断这个区域的范围了,可以参考上面的代码四。

2 清空的方法,无外乎三种,delete——很直接、干净、彻底地删除一切数据,不拖泥带水;clear——清除所选择范围内的数据及格式;ClearContents——清除所选择范围内的数据。

3 如果是删除行,要判断确实删除的资料对于要录入的资料没有不良的影响。不要误删除。同时,如果采用的是循环语句,删除后的行数变化要考虑到。

4 判断要删除或者清除的区域时,可以先判断一下需要录入的数据量多大,如果是小于3000行,那么就直接录入3000,可以避免再次的判断,节约时间。

5 在清零处理的时候也要考虑到程序的可视性,增加select语句。

上述的几点在写程序时要特别的注意。

今日内容回向:

1.VBA清空的代码中核心步骤有两个,哪两个?

2.delete clear 有什么不同?clear 和clear Contents有什么不同?

3.delete 可以用clear代替吗?反过来呢?

分享成果,随喜正能量

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多