在写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代替吗?反过来呢? 分享成果,随喜正能量 |
|