Table of Contents
В этом руководстве мы рассмотрим несколько довольно простых причин, которые могут вызвать ошибку выполнения Excel VBA 13, несоответствие типа массива, а затем я предложу некоторые возможные решения, которые могут вам понадобиться, чтобы избавиться от этой проблемы.
ПК работает медленно?
Ошибка несоответствия типа VBA возникает, когда вы пытаетесь присвоить значение между двумя дополнительными переменными разных типов. Ошибка драпируется, даже если отображается “Ошибка выполнения 13 – Несоответствие типов”. Например, если вы хотите поместить текст в длинное целое число или если вы планируете поместить текст обратно в переменную даты.
Visual Basic, вероятно, поможет преобразовать многие значения и заставить их выполнять назначения типа данных, что было невозможно в предыдущих версиях.
Однако эта ошибка все еще может возникать, а также имеет следующие причины и решения:
<ул>
Решение. Постарайтесь сделать присваивания в первую очередь совместимыми между типами данных. Например, integer иногда всегда можно назначить long, simple можно с уверенностью назначить double, а другие часто будут тип (кроме определяемый пользователем тип) назначается варианту.
<ул>
Решение: передать единственное релевантное свойство или просто вызвать новый метод, соответствующий вашему объекту.
<ул>
Как вы контролируете ошибку несоответствия типов в VBA?
Несоответствие большого разнообразия VBA дает совпадение «Ошибка времени выполнения» с учетом кода ошибки 13. Чтобы избежать таких ошибок, рекомендуется правильно назначать переменные с этим конкретным правильным выбором с точки зрения данных и типов целей. Кроме того, нам нужно понимать каждый тип данных со значениями, которые он может содержать.
Причина: модуль использовал имя доверенного проекта, где super было выражение неизбежным, например:
Debug.Print MyModule
Причина: вы пытались совместить базовую обработку ошибок с вариантными значениями, требующими ошибки (10, подтип vbError) из-за примера:
Ошибка CVERr(n)
Решение. Чтобы повторно сгенерировать исправную ошибку, вы действительно должны сопоставить ее с какой-либо внутренней или пользовательской ошибкой Visual Basic, а затем сбросить эту ошибку.
<ул>
Причина. Значение CVERr нельзя преобразовать в дату. Например:
MyVar = CDate(CVErr(9))
Решение. Используйте оператор select case или исключительно похожую конструкцию, чтобы соответствовать возврату CVErr, используя такое значение.
<ул>
Временное решение: для печати массивов создайте цикл, который фотографирует каждый элемент по отдельности.
Для получения дополнительной информации выберите нужный элемент и нажмите F1 (Windows) или HELP (Macintosh).
Дополнительная поддержка, отзывы
Есть вопросы или комментарии по Office VBA или этой документации? См. раздел Отзывы и поддержка Office VBA, чтобы получить обратную связь и поддержку.
<ул>
ПК работает медленно?
ASR Pro — идеальное решение для ремонта вашего ПК! Он не только быстро и безопасно диагностирует и устраняет различные проблемы с Windows, но также повышает производительность системы, оптимизирует память, повышает безопасность и точно настраивает ваш компьютер для максимальной надежности. Так зачем ждать? Начните сегодня!
Хотели бы вы разработать платный продукт, расширяющий возможности Office на нескольких платформах? Проверьте, исчез ли новый шаблон надстроек Office. Надстройки Office оказывают меньшее влияние, чем надстройки и решения VSTO. Таким образом, вы можете создавать их практически с помощью любой технологии веб-программирования, такой как HTML5, JavaScript, CSS3 и XML.
Не лучший ответ, который вы ищете? Просмотрите другие помеченные вопросы теста на несоответствие Excel VBA или ответьте на свой вопрос.
Как исправить ошибку среды выполнения Visual Basic 13?
Откройте новый файл Excel и переключите режим расчета на ручной.Нажмите Инструменты >> Макрос >> Безопасность >> Высокий уровень.Если вы обычно выбираете Excel 2007, щелкните Office >> Параметры Excel >> Центр управления безопасностью.
Эффективно объявляйте переменные Dim x#, y#
. Исправляет ли это вашу ошибку несоответствия, вы будете еще одной ошибкой, потому что y (j - 1)
ожидает фантастический массив. Добавьте знак умножения, который будет обрабатываться как y * (j-1)
, и вы, вероятно, исправите эту ошибку, но вы можете получить любое другое переполнение, если Selection.Rows . Подсчитайте > 2
, чтобы вы также могли добавить for для оценки этого.
Что такое хорошая ошибка несоответствия?
SubmultRowsTo1Row() Dim inputRange As Variant Приглушенный выходной диапазон, тогда как опция Градация у#, х# Если selection.Rows.Count > 2 Тогда MsgBox "Неверный выбор!", vbCritical вывод под резюме, если Поле ввода равно выбору y = UBound (входной ряд, 1) х = UBound (InputArea, 2) ReDim outputRange (от 1 до z (пусто) y)Для j = 1 до y Для я = 1 до х исходный диапазон (i + y * (j - - 1)) равен входному диапазону (j, i) Затем яJ следующийвыбрать.смещение(0, х).выбратьконец под
Как всегда, многих сбоев, а также отладки можно избежать, используя Option Explicit
, присваивая переменным определенный введите :)
обновлено 22 мая 2013 г., 23:29.
Улучшите скорость своего компьютера сегодня, загрузив это программное обеспечение - оно решит проблемы с вашим ПК. г.
Steps To Resolve Excel VBA Runtime Error 13 Array Type Mismatch
Etapas Para Resolver O Erro De Tempo De Execução Do Excel VBA 13 Incompatibilidade De Tipo De Matriz
Schritte, Die Ihnen Helfen, Excel VBA Runtime Error 13 Array Type Mismatch Zu Beheben
Pasos Para Resolver El Error De Tiempo De Ejecución De Excel VBA 13 No Coincide El Tipo De Matriz
Étapes Qui Résoudront L'erreur D'exécution Excel VBA 13 Incompatibilité De Type De Tableau
Stappen Die Excel VBA-runtimefout 13 Oplossen Arraytype Komt Niet Overeen
Excel VBA 런타임 오류 13 배열 유형 불일치를 해결하는 단계
Steg För Att Lösa Excel VBA Runtime Error 13 Array Type Mismatch
Kroki Rozwiązania Błędu Wykonawczego Excel VBA 13 Niezgodność Typu Tablicy
Passaggi Per Risolvere L'errore Di Runtime VBA Di Excel 13 Non Corrispondenza Del Tipo Di Array
г.