У меня была такая же проблема, как вы упомянули здесь выше, и мой код работал отлично весь вчерашний день.
Я продолжал программировать этим утром, и когда я открыл свое приложение (мой файл с подпрограммой Auto_Open), я получил ошибку времени выполнения '13' Несоответствие типов, я пошел в Интернет, чтобы найти ответы, я много пробовал вещей, модификаций, и в какой-то момент я вспомнил, что где-то читал о «призрачных» данных, которые остаются в ячейке, даже если мы ее не видим.
Мой код выполняет только передачу данных из одного ранее открытого файла в другой и суммирует его. Мой код остановился на третьем SheetTab (таким образом, он пошел правильно для 2 предыдущих SheetTab, где тот же код работал без остановки) с сообщением несоответствия типов. И он делает это каждый раз в том же SheetTab, когда я перезапускаю свой код.
Таким образом, я выбрал ячейку, в которой она остановилась, вручную ввел 0,00 (поскольку несоответствие типов происходит из переменных суммирования, объявленных в DIM как Double) и скопировал эту ячейку во все последующие ячейки, где возникла та же проблема. Это решило проблему. Никогда не было сообщение снова. Ничего общего с моим кодом, кроме «Призрака» или данных из прошлого. Это как когда вы хотите использовать Control + End, а Excel берет вас туда, где у вас были данные, и удаляет их. Пришлось «Сохранить» и закрыть файл, когда вы хотели использовать Control + End, чтобы убедиться, что Excel указал вам на нужную ячейку.