VBA第十三期 删除指定行或者列的几种方法

虽然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

你可能感兴趣的:(服务器,运维,python,开发语言)