VBA: Как обработать ошибку времени выполнения 13 с несколькими входами, вызванными автозаполнением - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь реализовать функцию, которая автоматически создает комментарий, прикрепленный к ячейке, если пользователь ввел в эту ячейку определенную букву. Оператор switch-case работает нормально, пока я не использую автозаполнение, например, я набираю «A» и хочу заполнить его в следующих ячейках, перетаскивая зеленую рамку к этим ячейкам. Затем я сразу получаю ошибку времени выполнения 13: несоответствующие типы.

Чтобы противостоять этому, я попытался добавить цикл foreach.


Private Sub Worksheet_Change(ByVal Target As Range)

Dim cell As Variant
 For Each cell In Target
  Application.EnableEvents = False

   Select Case Target.Cells

    Case Is = "A": Target.AddComment ("text: ")
    Case Is = "B": Target.AddComment ("text: ")
    Case Is = "C": Target.AddComment ("text: ")
    Case Is = "D": Target.AddComment ("text: ")
    Case Is = "E": Target.AddComment ("text: ")
    Case Is = "F": Target.AddComment ("text : ")

   End Select
  Application.EnableEvents = True
 Next cell

On Error Resume Next

End Sub

Однако ошибка все еще появляется.

...