我有以下代码分配给一个按钮。按下时,该按钮将删除表格中的最后一行。表格的第一行是标题。我试图找出如何防止/保护标题(B6:M6)及其上方的行被意外删除,如果"删除行"单击按钮太多次了。任何帮助将非常感激。谢谢。
Sub DeleteRow()
Dim LastRow As Integer
LastRow = Worksheets("MTO").Range("J" & Rows.count).End(xlUp).Row
Worksheets("MTO").Rows(LastRow & ":" & LastRow).Delete shift:=xlUp
End Sub
答案 0 :(得分:0)
在删除之前使用If
语句检查LastRow的值。 (另外,您需要使用工作表完全限定对象)
Sub DeleteRow()
Dim LastRow As Long
LastRow = Worksheets("MTO").Range("J" & Worksheets("MTO").Rows.count).End(xlUp).Row
If LastRow > 6 Then
Worksheets("MTO").Rows(LastRow & ":" & LastRow).Delete shift:=xlUp
End If
End Sub
或使用With
Sub DeleteRow()
Dim LastRow As Long
With Worksheets("MTO")
LastRow = .Range("J" & .Rows.count).End(xlUp).Row
If LastRow > 6 Then
.Rows(LastRow & ":" & LastRow).Delete shift:=xlUp
End If
End With
End Sub
答案 1 :(得分:0)
声明工作表变量以使代码更具可读性总是更好。
您可以尝试这样的事情......
Sub DeleteRow()
Dim ws As Worksheet
Dim LastRow As Integer
Set ws = Worksheets("MTO")
LastRow = ws.Range("J" & Rows.Count).End(xlUp).Row
If LastRow > 6 Then ws.Rows(LastRow).Delete
End Sub