-1

У меня есть некоторый код VBA, который очищает содержимое из нескольких ячеек. Большинство этих ячеек имеют проверку данных, так что значение должно быть выбрано из списка параметров (да, нет, нет данных), остальные открыты для любого типа данных.

Когда я нажимаю кнопку для запуска кода в первый раз, я получаю следующую ошибку (если я нажимаю кнопку «Конец», я больше не получаю ошибку при нажатии кнопки):

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

Это мой код. Ошибка возникает при первом чистом контенте (строка 8 для ячеек C5:D5):

Sub ReiniciarRef()
'
' ReiniciarRef Macro
'

'
    Range("C5:D5").Select
    Selection.ClearContents 
    Range("C7").Select
    Selection.ClearContents
    Range("C9:G10").Select
    Selection.ClearContents
    Range("C13:G13").Select
    Selection.ClearContents
    Range("C16:G16").Select
    Selection.ClearContents
    Range("C18").Select
    Selection.ClearContents
    Range("C23:D23").Select
    Selection.ClearContents
    Range("C25").Select
    Selection.ClearContents
    Range("C27:G28").Select
    Selection.ClearContents
    Range("C31:G31").Select
    Selection.ClearContents
    Range("C34:G34").Select
    Selection.ClearContents
    Range("C36").Select
    Selection.ClearContents
    Range("C41:D41").Select
    Selection.ClearContents
    Range("C43").Select
    Selection.ClearContents
    Range("C45:G46").Select
    Selection.ClearContents
    Range("C49:G49").Select
    Selection.ClearContents
    Range("C52:G52").Select
    Selection.ClearContents
    Range("C54").Select
    Selection.ClearContents
    Range("C59:D59").Select
    Selection.ClearContents
    Range("C61").Select
    Selection.ClearContents
    Range("C63:G64").Select
    Selection.ClearContents
    Range("C67:G67").Select
    Selection.ClearContents
    Range("C70:G70").Select
    Selection.ClearContents
    Range("C72").Select
    Selection.ClearContents
    Range("C77:D77").Select
    Selection.ClearContents
    Range("C79").Select
    Selection.ClearContents
    Range("C81:G82").Select
    Selection.ClearContents
    Range("C85:G85").Select
    Selection.ClearContents
    Range("C88:G88").Select
    Selection.ClearContents
    Range("C90").Select
    Selection.ClearContents
    Range("C5:D5").Select
End Sub

заранее спасибо

1 ответ1

0

Ошибка, вероятно, вызывается проверкой, которая запускается "при изменении". Пытаться:

    Application.EnableEvents = False

    Range("C5:D5").Select
    Selection.ClearContents
    [...]

    Application.EnableEvents = True
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .