Похожие вопросы

Как зеркально отразить ячейки, если источником является список проверки данных? (Excel 2010)
Как создать макрос / короткие сокращения в Eclipse?
Как избежать окна сообщения буфера обмена при копировании больших объемов данных в Excel?
Убедитесь, что файл Excel не может быть сохранен, если столбец содержит пустые ячейки
Нужен макрос в Excel сумма диапазона переменной длины
Анимация PowerPoint или проблема VBA: одно имя, изображение появляется, исчезает, второе имя появляется в том же месте
Программа макроса клавиатуры для OS X
Как сортировать данные, организованные в 4-рядные блоки?
Как отключить "эта книга содержит макросы"
Как написать макрос в Outlook 2007 для перемещения элемента из папки "Входящие" в другую папку и маркировать его как непрочитанные?
Как создать и запустить макрос, который выполняется на текущем визуальном выделении?
Запретить пользователю Excel 2010 вставлять форматирование в ячейку
Как повторить макрос до конца документа - macOS High Sierra v 10.13.6 - Microsoft Word для Mac v 16.15
Запись макроса команд windows
Копирование и вставка с помощью макросов в Excel 2007

Как решить проблему несоответствия типов ошибок среды выполнения 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

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

5
задан Karl
источник

1 ответов

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

    Application.EnableEvents = False

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

    Application.EnableEvents = True
End Sub
0
отвечен Yorik 2016-04-20 20:31:08
источник

Другие вопросы macros microsoft-excel microsoft-excel-2013 vba