假设有一个包含很多行数据的工作表,你只是想删除当前单元格或者指定文本所在单元格之上的所有行,该如何操作?通常是选择所有行,然后单击功能区中的“删除工作表行”命令或者右键快捷菜单中的“删除”命令。然而,VBA代码可以非常快速地处理这种情形。在VBE编辑器中,插入一个标准模块,然后在代码窗口中输入下面的代码。删除当前单元格之前的所有行如果要删除当前单元格所在行上面的所有行,VBA代码很简单: Sub DeleteAllRowsAboveActiveCell() Range('A1:A' & ActiveCell.Row - 1).EntireRow.DeleteEnd Sub删除指定文本所在单元格上面的所有行如果要删除指定文本所在单元格所在行之上的所有行,VBA代码如下: Sub DeleteAllRowsAboveSpecialText() Dim rng As Range Set rng = Cells.Find(What:='完美Excel', LookAt:=xlWhole) If Not rng Is Nothing Then If rng.Row <> 1 Then Range('A1', rng.Offset(-1)).EntireRow.Delete Else MsgBox '指定文本已经位于工作表的第1行.' End If Else MsgBox '没有找到指定文本', vbInformation End IfEnd Sub将上述代码中的“完美Excel”替换成你实际要查找的单元格文本。看看,很简单的代码,代替了在Excel中要进行的多步操作。 |
|
来自: hercules028 > 《VBA》