«Метод _default диапазона объекта не выполнен» в коде Worksheet_Change - PullRequest
0 голосов
/ 05 марта 2020

Когда я изменяю значение в указанном столбце (столбец 19), выполнение кода занимает некоторое время, но, кажется, работает правильно, а затем выдает ошибку. Это также приводит к тому, что Excel несколько раз обрабатывает sh, так как я пытаюсь отладить код.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 19 Then
        If Target <> "yes" Then
            Target = "no"
        End If
    End If
End Sub

Я пытался изменить Target на activecell, используя явные ссылки и т. Д. c, и все кажется киньте ту же ошибку и cra sh Excel.

Есть идеи?

1 Ответ

0 голосов
/ 05 марта 2020

Хотите ли вы изменить каждый элемент, не являющийся "да", на "нет"?

Sub stringToNo()
    columnNumber = 19
    lastrow = fLastRow

    For i = 1 To lastrow
        If Cells(i, columnNumber) <> "yes" Then
            Cells(i, columnNumber) = "no"
        End If
    Next i
End Sub
Function fLastRow() As Long
    fLastRow = 0
    If WorksheetFunction.CountA(Cells) > 0 Then
        fLastRow = Cells.Find(What:="*", After:=[A1], _
              SearchOrder:=xlByRows, _
              SearchDirection:=xlPrevious).Row
    End If
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...