Как решить проблему несоответствия типов ошибок среды выполнения 13 в excel VBA при очистке содержимого?

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

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

enter image description here

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

Это мой код. ошибки happenes на первом clearcontent (линия 8 ячеек С5:Н5):

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

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

13
задан Karl
09.04.2023 14:32 Количество просмотров материала 3496
Распечатать страницу

1 ответ

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

    Application.EnableEvents = False

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

    Application.EnableEvents = True
End Sub
0
отвечен Yorik 2023-04-10 22:20

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх