Ошибка метода «Вставка» объекта «Диапазон» - PullRequest
0 голосов
/ 22 ноября 2018

Я написал короткий фрагмент кода, который при двойном щелчке знака «+» в электронной таблице должен скопировать всю строку, где находится знак «+», и вставить новую строку непосредственно под ней.точно так же.

Если я попытаюсь добавить строку до того, как добавлю какой-либо текст на лист, проблем не будет.Но если я добавляю текст, даже в строку, которую пытаюсь скопировать, а затем пытаюсь добавить строку, я получаю

«Метод« Вставка »объекта« Диапазон »не удался»

ошибка, даже если я удалил текст перед копированием.Кажется, что сама вставка действительно происходит, но вызывает ошибку.Если я сначала использую строку «Удалить», хотя даже для удаления строки с текстом, код работает отлично. Когда я отлаживаю часть Cells(Target.Row + 1, 1).EntireRow.Insert, кажется, проблема.

Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

ActiveSheet.Unprotect Password:=strPwd

If ActiveCell.Column = 3 And Target.Value = "+" Then
    Target.EntireRow.Copy
    Cells(Target.Row + 1, 1).EntireRow.Insert
    Cells(Target.Row + 1, 1).EntireRow.Select

    For Each Cell In Selection
        If Cell.Interior.Color = 13434879 Then
            Cell.ClearContents
        ElseIf Cell.Interior.Color = Black Then
            Cell.ClearContents
        End If
    Next

    Cells(Target.Row + 1, 4).Select
    Application.CutCopyMode = False

ElseIf ActiveCell.Column = 2 And Target.Value = "-" Then

    Target.EntireRow.Select
    Target.EntireRow.Delete
    Cells(3, 4).Select

End If

ActiveSheet.Protect Password:=strPwd, UserInterfaceOnly:=True

End Sub

Любая помощь будетс благодарностью.Рад предоставить больше информации, если это будет необходимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...