删除第一行以外的选定行

时间:2017-04-25 07:00:32

标签: excel excel-vba vba

我有一个带有一个命令按钮的Excel工作表,用于添加新行,另一个命令按钮用于删除所选行。我在命令按钮中用于删除行的代码如下所示。此代码删除一个选定的行: -

ActiveSheet.Unprotect "xxxx"
Rows(ActiveCell.Row).Delete
ActiveSheet.Protect "xxxx", True, True

但是如何确保永远不会删除第一行(在我的情况下为行K12),因为此行包含所有公式和格式。 另外如何删除多行。 非常感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

也许换成:

If ActiveCell.Row > 12 Then
...
End If

我猜你也不想删除K12以上的任何行。

答案 1 :(得分:0)

为你试过这个。在这里你可以选择多个单元格

Sub test()
ActiveSheet.Unprotect "xxxx"
Dim rng As Range

On Error Resume Next

Set rng = Application.InputBox("select you range (use ctrl to Select non adjacen cells):", "multiple rows to delete", ActiveSheet.UsedRange.AddressLocal, , , , , 8)

If rng Is Nothing Then Exit Sub
If ActiveCell.Row > 12 Then
 rng.EntireRow.Delete
Else
MsgBox "do not select from row 12 or above"
End If
ActiveSheet.Protect"xxxx", True,True
End Sub