Разбор ошибки Type Mismatch Error

Mismatch Error

Type Mismatch Error VBA возникает при попытке назначить значение меж 2-мя разными типами переменных.

Ошибка отображается как:
run-time error 13 – Type mismatch

VBA Type Mismatch Error 13

К примеру, если вы пытаетесь поместить текст в целочисленную переменную Long либо пытаетесь поместить число в переменную Date.

Давайте поглядим на определенный пример. Представьте, что у нас есть переменная с именованием Total, которая является длинноватым целым числом Long.

Если мы попытаемся поместить текст в переменную, мы получим Type Mismatch Error VBA (т.е. VBA Error 13).

Давайте поглядим на иной пример. Сейчас у нас есть переменная ReportDate типа Date.

Если мы попытаемся поместить в эту переменную не дату, мы получим Type Mismatch Error VBA.

В целом, VBA нередко прощает, когда вы назначаете неверный тип значения переменной, к примеру:

Тем не наименее, есть некие преобразования, которые VBA не в состоянии сделать:

Обычной метод разъяснить Type Mismatch Error VBA состоит в том, что элементы по обе стороны от равных оценивают иной тип.

При появлении Type Mismatch Error это нередко не так просто, как в этих примерах. В этих наиболее сложных вариантах мы можем употреблять средства отладки, чтоб посодействовать нам убрать ошибку.

Внедрение отладчика

В VBA есть несколько весьма массивных инструментов для поиска ошибок. Инструменты отладки разрешают остановить выполнение кода и проверить значения в текущих переменных.

Вы сможете употреблять последующие шаги, чтоб посодействовать для вас убрать всякую Type Mismatch Error VBA.

  1. Запустите код, чтоб возникла ошибка.
  2. Нажмите Debug в диалоговом окне ошибки. Это выделит строчку с ошибкой.
  3. Изберите View-> Watch из меню, если окно просмотра не видно.
  4. Выделите переменную слева от equals и перетащите ее в окно Watch.
  5. Выделите все справа от равных и перетащите его в окно Watch.
  6. Проверьте значения и типы всякого.
  7. Вы сможете сузить ошибку, исследовав отдельные части правой стороны.

Последующее видео указывает, как это создать.

На снимке экрана ниже вы сможете узреть типы в окне просмотра.

VBA Type Mismatch Watch

Используя окно просмотра, вы сможете проверить разные части строчки кода с ошибкой. Потом вы сможете просто узреть, что же это все-таки за типы переменных.

В последующих разделах показаны разные методы появления Type Mismatch Error VBA.

Присвоение строчки числу

Как мы уже лицезрели, попытка поместить текст в числовую переменную может привести к Type Mismatch Error VBA.

Ниже приведены некие примеры, которые могут вызвать ошибку:

Недействительная дата

VBA весьма гибок в предназначении даты переменной даты. Если вы поставите месяц в неверном порядке либо пропустите денек, VBA все равно сделает все вероятное, чтоб удовлетворить вас.

В последующих примерах кода показаны все допустимые методы предназначения даты, за которыми следуют случаи, которые могут привести к Type Mismatch Error VBA.

Ошибка ячейки

Узкая причина Type Mismatch Error VBA — это когда вы читаете из ячейки с ошибкой, к примеру:

Если вы попытаетесь прочесть из данной ячейки, вы получите Type Mismatch Error.

Чтоб убрать эту ошибку, вы сможете проверить ячейку при помощи IsError последующим образом.

Но проверка всех ячеек на наличие ошибок невозможна и сделает ваш код массивным. Наилучший метод — поначалу проверить лист на наличие ошибок, а если ошибки найдены, сказать о этом юзеру.

Вы сможете употреблять последующую функцию, чтоб создать это:

Ниже приведен пример использования этого кода.

Неправильные данные ячейки

Как мы лицезрели, размещение неправильного типа значения в переменной вызывает Type Mismatch Error VBA. Весьма всераспространенная причина — это когда значение в ячейке имеет неверный тип.

Юзер может поместить текст, таковой как «Нет», в числовое поле, не осознавая, что это приведет к Type Mismatch Error в коде.

VBA Error 13

Если мы прочитаем эти данные в числовую переменную, то получим
Type Mismatch Error VBA.

Вы сможете употреблять последующую функцию, чтоб проверить наличие нечисловых ячеек, до этого чем употреблять данные.

Вы сможете употреблять это так:

Имя модуля

Если вы используете имя модуля в собственном коде, это может привести к
Type Mismatch Error VBA. Но в этом случае причина быть может не тривиальной.

Интересно почитать:  Как вернуть несохраненный документ excel

К примеру, допустим, у вас есть модуль с именованием «Module1». Выполнение последующего кода приведет к о
Type Mismatch Error VBA.

VBA Type Mismatch Module Name

Разные типы объектов

До сего времени мы разглядывали в основном переменные. Мы обычно называем переменные главными типами данных.

Они употребляются для хранения 1-го значения в памяти.

В VBA у нас также есть объекты, которые являются наиболее сложными. Примерами являются объекты Workbook, Worksheet, Range и Chart.

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

Коллекция Sheets

В VBA объект рабочей книжки имеет две коллекции — Sheets и Worksheets. Есть весьма узкая разница.

  1. Worksheets — сборник рабочих листов в Workbook
  2. Sheets — сборник рабочих листов и диаграммных листов в Workbook

Лист диаграммы создается, когда вы перемещаете диаграмму на свой лист, щелкая правой клавишей мыши на диаграмме и выбирая «Переместить».

Если вы читаете коллекцию Sheets при помощи переменной Worksheet, она будет работать нормально, если у вас нет рабочей таблицы.

Если у вас есть лист диаграммы, вы получите
Type Mismatch Error VBA.

В последующем коде Type Mismatch Error покажется в строке «Next sh», если рабочая книжка содержит лист с диаграммой.

Массивы и спектры

Вы сможете назначить спектр массиву и напротив. По сути это весьма резвый метод чтения данных.

Неувязка возникает, если ваш спектр имеет лишь одну ячейку. В этом случае VBA не конвертирует arr в массив.

Если вы попытаетесь употреблять его как массив, вы получите
Type Mismatch Error .

В этом сценарии вы сможете употреблять функцию IsArray, чтоб проверить, является ли arr массивом.

Заключение

На этом мы завершаем статью о Type Mismatch Error VBA. Если у вас есть ошибка несоответствия, которая не раскрыта, пожалуйста, дайте мне знать в комментах.

Excel ошибка при направлении команды приложению: 6 наилучших методов решить делему

Не очень распространённая при работе с Excel ошибка при направлении команды приложению может появляться при попытках открыть файлы с расширением *.xls и *.xlsx.

Причину таковой ошибки тяжело найти сходу – на решение трудности придётся издержать определенное время, воспользовавшись одним из 6 узнаваемых методов.

Они подступают для хоть какой операционной системы Windows, хотя в различных версиях текст ошибки может некординально различаться:

  • для Виндоус 7, 8 и 10 на дисплее возникает сообщение о ошибке при направлении команды приложению;
  • на ПК (Персональный компьютер — компьютер, предназначенный для эксплуатации одним пользователем) с Windows Vista можно узреть надпись о необходимости повторить попытку открыть файл, попытка запустить который не удалась;
  • наиболее ранешние версии ОС покажут юзеру сообщение о невозможности отыскать один из компонент файла path и предложение отыскать нужные библиотеки.

Главные методы решения трудности

Процесс исправления ошибки не просит от юзера Windows углублённых познаний и опыта. Но на решение трудности всё равно придётся издержать определённое время.

Сначала, поэтому что найти причину ошибки сходу не получится. И убрать её можно, лишь воспользовавшись каждым из способов поочереди.

Один из их, быстрее всего, поможет возвратить работоспособность системе.

Решение заморочек с запросами DDE

Начать исправление трудности стоит, проверив настройку приёма DDE‑запросов.

Если этот параметр настроен некорректно, при двоенном нажатии на книжке Excel система не получает команды для открытия файла.

Деяния для вызова формы опции различаются в зависимости от версии MS Office:

Установка разрешения принимать DDE-запросы в MS Office 2007.

В открывшейся форме следует отыскать пункт, отвечающий за DDE-запросы, убрать с него галочку и сохранить конфигурации.

Если эта функция была включена, опосля отключения и перезапуска Excel механизм взаимодействия программ Windows будет восстановлен. А файлы, быстрее всего, начнут раскрываться без заморочек.

Необходимо знать: Обычно, конкретно этот метод дозволяет решить делему с ошибкой при направлении команды. Потому его употребляют первым.

Исправление файлов пуска

Если предшествующий вариант устранения ошибки не посодействовал, не исключено, что предпосылкой трудности были не DDE-запросы, а файлы пуска.

Отыскать их можно в папке C:Program FilesMicrosoft Office – перейдя в подобающую директорию:

  • для МС Кабинет 2003 требуется избрать каталог OFFICE11;
  • для пакета 2007 года – в OFFICE12;
  • для Office 2010 и 2013 – соответственно, в OFFICE14 и 15.
Интересно почитать:  Как объединить файлы в excel в один

Поиск и исправление файлов пуска для MS Office 2010 (14).

Открыв избранную папку, юзер должен:

Отключение аппаратного убыстрения

Последующий по популярности вариант, пригодный лишь для Excel 2013 и 2016 – отключение аппаратного убыстрения.

Воспользоваться данной методикой для решения заморочек с запросами дают сами создатели MS Office.

Хотя и предупреждают, что исправление лишь временное и, с течением времени, юзеру всё равно придётся пользоваться для устранения обстоятельств ошибки иными, наиболее кардинальными способами.

К примеру, переустановкой офисного пакета приложений.

Для использования данной методики требуется:

Отключение аппаратного убыстрения.

Недочет метода – возможность внедрения для исправления ошибки лишь в крайних версиях Office. Притом что довольно много юзеров продолжает использовать наиболее старенькые версии.

К слову, чтоб эффективнее работать с таблицами Exel сможете ознакомиться с нашим материалом Жаркие клавиши Excel — Самые нужные варианты.

Восстановление системы

Ещё один вариант подразумевает восстановление системы до начального состояния.

При всем этом устраняются проблемы, как вызванные действиями юзеров Excel, так и ставшие следствием работы вирусов либо программных сбоев.

Примечание: Для использования этого метода требуется заблаговременно предугадать возможность восстановления системы. Это делается при помощи опций запасного копирования в меню «Восстановление» Windows.

Вернуть систему можно, выполнив последующие деяния:

Приложение для восстановления системы.

Перейти к реестру системы (введя команду regedit в меню выполнения программ, вызываемого одновременным нажатием кнопок «Win» и «R»);

Принципиально: Воспользоваться реестром следует весьма пристально, удаляя лишь рекомендованные подразделы. Случайное ликвидирование либо изменение остальных файлов и папок может привести к необходимости восстановления реестра и даже переустановке Windows.

Решение вопросцев с открытием XLS-файлов

Не наименее действенный метод избавиться от ошибки – проверка корректности сравнения системой файлов, которые должны раскрываться в соответственных офисных приложениях.

Найти это можно последующим образом:

1. Перейти в Панель управления;

2. Открыть пункт программ по дефлоту;

3. Избрать подпункт сравнения типов файлов;

4. В открывшемся перечне отыскать расширения .xls и .xlsx.

Сравнение файлов с расширением .xls с программкой Excel.

5. По очереди избрать любой из этих 2 типов файлов, нажимая «Поменять программку» (в верхнем правом углу);

6. Избрать приложение Excel, если оно не было установлено по дефлоту.

Те же деяния можно выполнить и иным методом. К примеру, открывая файл книжки Excel через его характеристики и команду «Открыть при помощи». При всем этом в перечне предлагаемых программ выбирается офисное приложение и устанавливается его внедрение для всех файлов этого типа.

Выпадающий перечень в Excel — {Инструкция} по созданию

Что созодать, если ничего не посодействовало?

Время от времени у юзера, решившего избавиться от ошибки, не выходит создать это при помощи 5 главных методов.

В этом случае стоит поначалу проверить наличие новейшего программного обеспечения для офисного приложения, перейдя в Центр обновлений системы.

Отключение автоматического скачки ПО (то есть программное обеспечение — комплект программ для компьютеров и вычислительных устройств) довольно нередко приводит к возникновению ошибки с запросами и остальных проблем, исправляемых конфигурацией опций Центра.

Установка обновлений MS Windows.

Если и сиим методом решить делему не удалось, остаётся крайний вариант – переустановка MS Office. Лучше обновлять офисный пакет на сто процентов, а время от времени хорошим методом может стать подмена старенькой версии наиболее новейшей. При переустановке следует очистить содержимое папки MS Office. Этот кардинальный метод помогает фактически в 100% случаев, когда ни одна из прошлых попыток не привела к устранению ошибки. Но просит и больше времени – от нескольких минут до часа, в зависимости от мощности компа и версии пакета.

Excel ошибка при направлении команды приложению: 6 наилучших методов решить делему

Excel ошибка при направлении команды приложению: 6 наилучших методов решить делему

alt=»Engine – что же все-таки это такое, как работает и для чего необходимо — отвечаем на все вопросцы» /> « Предшествующая запись

Ошибка при направлении команды приложению

Популярность Microsoft Office посреди юзеров не вызывает сомнения. Но временами его стабильность дает сбой: при попытке провести любые деяния с файлом (открытие, сохранение) на дисплее возникает сообщение — «Ошибка при направлении команды приложению». Схожая ситуация возникает при работе в Word и в Excel.

  1. Устранение ошибки в MicrosoftExcel
    1. Отключить игнорирование DDE-запросов
    2. Сбросить сравнение файлов
    3. Отключить надстройки
    1. Поменять характеристики сопоставимости файлов
    2. Очистить системный реестр

    Устранение ошибки в Microsoft Excel

    Возникновение такового сообщения в Excel гласит о том, что приложение не способно закрыться из-за проводимых в нем действий. Обстоятельств, вызывающих проблему, огромное количество – от повреждений в настройках и реестре до повреждений в самой программке Excel. Устранить сбой посодействуют несколько методов.

    Отключить игнорирование DDE-запросов

    Таковой вариант устранения проблемы считается самым действующим. Что необходимо создать для снятия игнорирования DDE:

    • перейти на вкладку проблемного файла и надавить «Характеристики»;
    • раскроется окно, где избрать строчку «Добавочно»;
    • прокрутить вниз до раздела характеристик опций «Общие»;
    • снять галочку напротив строчки «ИгнорироватьDDE-запросы от остальных приложений» и надавить «OK».

    Сбросить сравнение файлов

    Сброс сравнения файлов – не наименее действующий вариант устранения ошибки при направлении команды приложению Excel. Метод действий зависит от версии ОС. Для Windows 8 двигаться необходимо в таком порядке:

    • в поисковой строке ввести «Панель управления»;
    • в открывшемся окне избрать элемент с аналогичным заглавием;
    • ниже по стрелке избрать «Программки по дефлоту»;
    • кликнуть на пункт «Настройка программ по дефлоту»;
    • следом за строчкой Excel избрать значение по дефлоту для требуемой программки;
    • раскроется окно «Настройка сравнения программ», где кликнуть на пункт «Избрать все»;
    • надавить «Сохранить».

    Для Windows 10 метод последующий:

    • надавить правой клавишей мыши на файл, выбрав в контекстном меню пункт «Открыть при помощи»;
    • надавить «Остальные приложения»;
    • кликните на версию Excel, установленную на вашем компе (например, Excel 16);
    • избрать опцию «Употреблять это приложение для открытия файлов типа xlsx»;
    • кликнуть «Ок».

    Отключить надстройки

    Неисправность в работе с приложением время от времени связывают с проблемами в хоть какой из надстроек COM и Excel, расположенные по различным папкам. Наилучшее временное решение для устранения конфликта меж надстройками – отключить их. Как это создать:

    • в меню файла необходимо кликнуть на «Характеристики»;
    • слева покажется перечень, где избрать «Надстройки»;
    • На страничке по управлению надстройками понизу размещен блок «Управление», где избрать строчку с «Надстройки COM»;
    • потом кликнуть на клавишу «Перейти»;
    • в перечне надстроек напротив каждой снять галочки;
    • надавить «Ок»;
    • если опосля перезапуска приложения неувязка устранена, то опять возвратиться в надстройки COM и поставить галочку;
    • опять кликнуть «Ок»;
    • если никаких заморочек не возникает, то перейти к иным настройкам и проверить их.

    При проведении тестирования может быть обнаружении той надстройки, где ошибка возникает вновь. Тогда эту надстройку нужно отключить, а другие – включить. Если при выключении всех опций проблема не устраняется, то причина сбоя лежит в ином. Потому необходимо применить другой способ, а все надстройки включить опять.

    Как убрать ошибку при направлении команды приложению в Word

    Разглядим, как можно избавиться от проблемы, если юзер запускает программку Microsoft Word.

    Поменять характеристики сопоставимости файлов

    Данный способ исправления подойдет и для Excel. Метод последующий:

    • зайти в диск С и открыть папку Program Files;
    • потом — в папку Microsoft Office, а в ней – Office 16 (либо с иным номером в зависимости от версии);
    • для работы нам нужен файл WINDWORD.EXE, где выбирается пункт «Характеристики»;
    • в открывшемся окне кликнуть на вкладку «Сопоставимость», где будет нужно открыть блок «Режим сопоставимости»;
    • снять галочку напротив строчки «Запустить программку в режиме сопоставимости»;
    • в блоке «Уровень прав» убрать галочку напротив «Делать программку от имени админа»;
    • опосля этого кликнуть «Ок», чтоб запустить конфигурации.

    Очистить системный реестр

    Не самый неопасный метод, потому сперва необходимо сделать точку восстановления. Это нужно для того, чтоб не утратить прошлые данные.

    Для пуска редактора реестра следует:

    • войти в «Поиск» и набрать в строке regedit;
    • запустить редактор нажатием «Ок»;
    • перейти в директорию по такому пути -HKEY_CURRENT_USER/Software/MicrosoftWindows/CurrentVersion;
    • раскроется окно, где в каталоге CurrentVersion необходимо удалить все папки;
    • по окончанию перезагрузить аксессуар.

    Если опосля внедрения всех методов убрать сбой не получится, то будет нужно вернуть систему.

Ссылка на основную публикацию
Adblock
detector