Я создал эту кнопку удаления, которая запускает удаление относительного диапазона строк, включая все кнопки, которые находятся в пределах этих удаленных строк. Иногда этот код не запускается, и он выдаст мне ошибку 1004 времени выполнения «ошибка приложения или объекта» и выделит оператор If Not Intersect. Когда-нибудь это будет работать просто отлично. Похоже, это зависит от того, что я сделал, прежде чем щелкнуть по нижней части. Что-то вызывает ошибку. Пожалуйста, помогите!
Sub Delete_Button()
'Delete_Button
'Step 1: Select the cell under the clicked button
Dim r As Range
Dim s As Shape
Set r = ActiveSheet.Buttons(Application.Caller).TopLeftCell
Range(Cells(r.Row, r.Column), Cells(r.Row, r.Column)).Select
'Step 2: delete all buttons relative to the selected cell from step 1
StartCell = ActiveCell.Offset(-5, 0).Address
EndCell = ActiveCell.Offset(0, 0).Address
For Each s In ActiveSheet.Shapes
If Not Intersect(Range(StartCell, EndCell), s.TopLeftCell) Is Nothing Then
s.Delete
End If
Next s
'Step 3: delete the rows relative to the selected cell from step 1
ActiveCell.Offset(-7, 0).Rows("1:8").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Offset(-4, 0).Range("A1").Select
End Sub