虽然VBA 提供清空连续区域和的单元格内容,但这种操作在实际编程中用得不多,一般都采取删除整行或者阵列操作。
第一种是我们需要删除表格中多余的行。比如我们复制一张数据表到当前工作表,需要删除某个月或者大于多少行以后的数据,那么就用一个If判断,下面的语句中lastrw < lastrw1是可以替换的判断条件,lastrw是我们需要的行数,lastrw1是我们当前工作表的最大行数。lastrw < lastrw1时表示有多于的行需要删除,lastrw >= lastrw1时下面的if语句不执行,即没有多于的行需要删除。
If lastrw < lastrw1 Then
For i = lastrw To lastrw1 + 1
Sheets("表一").Range("a" & lastrw + 2).Select
Selection.EntireRow.Delete
Next
End If
第二种是我们需要删除我们不需要的行,在程序中我们也要通过if语句来判断,如果我们需要选择的数据量在表格中占比较大,那么一般就选择哪些是不符合我们的数据删除。
For ii = bhrows To lastrw
If (Workbooks(实例.xls").Sheets(1).Range("a" & i) = Workbooks(实例.xls").Sheets(1).Range("a" & ii)) Or _ (Workbooks(实例.xls").Sheets(1).Range("b" & i) = Workbooks(实例.xls").Sheets(1).Range("b" & ii)) Then Set rowrange = Union(rowrange, Workbooks(实例.xls").Sheets(1).Rows(ii))
Next
rowrange.Select
Selection.EntireRow.Delete
当然如果是列操作,那么只要把上面的实例中的Rows换成columns就行
第三种是用到WPS本身的表格最大行和最大列,目前表格支持最大列是65536。下面语句也是删除一行的意思。
Workbooks("实例.xlsm").Sheets("表格1").Range("1:65536").Delete
第三种就是Clear语句,是用来清空表格内容,但不是误以为删除表格可以大胆使用。
Workbooks("实例.xlsm").Sheets("表1").Cells.Clear