假設有一個包含很多行數(shù)據(jù)的工作表,你只是想刪除當前單元格或者指定文本所在單元格之上的所有行,該如何操作?通常是選擇所有行,然后單擊功能區(qū)中的“刪除工作表行”命令或者右鍵快捷菜單中的“刪除”命令。然而,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 '指定文本已經(jīng)位于工作表的第1行.' End If Else MsgBox '沒有找到指定文本', vbInformation End IfEnd Sub將上述代碼中的“完美Excel”替換成你實際要查找的單元格文本??纯?,很簡單的代碼,代替了在Excel中要進行的多步操作。 |
|
來自: hercules028 > 《VBA》