Обработка ошибок - преобразовать # ЧИСЛО в ноль

Я пишу макрос для циклического перебора ряда различных электронных таблиц, которые находятся в одном и том же формате друг с другом. Исходные электронные таблицы содержат данные в таблице, которая иногда содержит ошибку #NUM (спасибо, что что-то пошло не так в другой модели!)

Мне удалось учесть все другие типы ошибок и некоторые интересные правила форматирования, используя приведенное ниже с несколькими другими операторами Case:

If IsNumeric(resultsarray(q,p) = false then

    Select case ResultsArray(q,p)

    Case IsError(ResultsArray(q, p))

                ResultsArray(q, p) = 0

    Case Left(ResultsArray(q, p), 2) = "0 "

                ResultsArray(q, p) = 0

К сожалению, #NUM, похоже, не входит в компетенцию IsError. Кто-нибудь знает, как я могу просто перезаписать ошибку нулем / 0?

Заранее спасибо!! Стеф

Просто используйте if #num then 0 ...

Solar Mike 29.05.2018 13:58

Привет, @SolarMike. Я попробовал опцию if, и она оставила меня с ошибкой 2036 и несоответствием типов, что меня смущает, поскольку массив определен как вариант. Рады принять любые другие предложения! Спасибо.

UncouthScientist 29.05.2018 14:43

Вы напрямую присваиваете значения ячеек массиву? Если вы добавите часы на resultsarray, то что вы увидите в качестве контента на ячейке #NUM? Показывает значение Error 2036.

shrivallabha.redij 29.05.2018 15:07
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
3
202
1

Ответы 1

Эта ошибка # ЧИСЛО возникает, если введенное число не является допустимым. В вашей ситуации я предлагаю вам проверить, является ли ввод числом или нет, вместо проверки ошибок. Таким образом, вы также можете проверить ошибку #NUM. (Или вы можете сделать и то, и другое) С IsNumeric(<input data here>) вы можете это сделать. Так что просто добавьте еще один футляр (IsNumeric) к выбранному вами футляру.

Привет, спасибо за попытку помочь :) Я уже использовал isnumeric, и поле не прошло этот тест - теперь я добавил это в свой исходный пост. Источник ошибки в исходной электронной таблице - формула, которая затем сохраняет все как (вставить специальное) значение, готовое к экспорту. Я знаю, что должно быть что-то простое, чего мне не хватает, но, хоть убей, я этого не вижу!

UncouthScientist 29.05.2018 14:40

Другие вопросы по теме