Кнопка «Удалить» для удаления относительных строк и всех кнопок в этих строках - PullRequest
0 голосов
/ 15 марта 2020

Я создал эту кнопку удаления, которая запускает удаление относительного диапазона строк, включая все кнопки, которые находятся в пределах этих удаленных строк. Иногда этот код не запускается, и он выдаст мне ошибку 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...