限制删除特定范围内的行

  • 本文关键字:范围内 删除 excel vba
  • 更新时间 :
  • 英文 :


我有通过选择特定单元格来删除行的简单代码。问题是不应该允许删除范围A1:AZ7中的行。我想我需要if语句来执行此操作?它应该是什么?

Private Sub CommandButton24_Click()
ThisWorkbook.Worksheets("GanttChart").Unprotect Password:="123456"
Dim MyRange As Range
Dim TestRange As Range
Set TestRange = ThisWorkbook.Worksheets("GanttChart").Range("A1:AZ7")
Set MyRange = ' slected cell
If Not Application.Intersect(MyRange, TestRange) Is Nothing Then
ThisWorkbook.Worksheets("GanttChart").Range("A" & ActiveCell.Row).Rows(1).EntireRow.Delete
End If
ThisWorkbook.Worksheets("GanttChart").Protect Password:="123456"
End Sub
Private Sub CommandButton24_Click()
With ThisWorkbook.Worksheets("GanttChart")
.Unprotect Password:="123456"
Dim MyRange     As Range
Dim TestRange   As Range
Set TestRange = .Range("A1:AZ7")
Set MyRange = Selection     ' U Can select many cells
If Application.Intersect(MyRange.EntireRow.Rows, TestRange.EntireRow.Rows) Is Nothing Then
'ThisWorkbook.Worksheets("GanttChart").Range("A" & ActiveCell.Row).Rows(1).EntireRow.Delete
MyRange.EntireRow.Delete
End If
.Protect Password:="123456"
End With
End Sub
Private Sub CommandButton24_Click()
ThisWorkbook.Worksheets("GanttChart").Unprotect Password:="123456"
Dim MyRange As Range
Dim TestRange As Range
Set TestRange = ThisWorkbook.Worksheets("GanttChart").Range("A1:AZ7")
Set MyRange = ActiveCell
If Not Application.Intersect(MyRange, TestRange) Is Nothing Then
Else
ThisWorkbook.Worksheets("GanttChart").Range("A" & ActiveCell.Row).Rows(1).EntireRow.Delete
End If
ThisWorkbook.Worksheets("GanttChart").Protect Password:="123456"
End Sub

最新更新