Table of Contents
W tym przewodniku dowiemy się o kilku możliwych indukcjach, które mogą powodować błąd wykonawczy programu Excel VBA 13, niezgodność typu tablicy, a następnie wygeneruję kilka możliwych rozwiązań, które możesz spróbować pomóc w pozbyciu się tego problem.
Komputer działa wolno?
Błąd niezgodności typu VBA występuje, gdy większość ludzi próbuje przypisać wartość między dwoma różnymi typami zmiennych. Błąd jest wyświetlany daleko, jeśli zawsze wyświetlany był komunikat „Błąd wykonania 13 — Niezgodność typu”. Na przykład, jeśli próbujesz pomóc w umieszczeniu tekstu w długiej zmiennej całkowitej, całkiem możliwe, że planujesz wstawić tekst do zupełnie nowej zmiennej daty.
Visual Basic może pomóc w konwersji i wymusić wiele wartości w celu spełnienia przypisań typu danych, które nie były możliwe. Możliwe w nieaktualnych wersjach.
Jednak ten błąd może nadal występować i składa się z następujących przyczyn i rozwiązań:
Decyzja. Postaraj się, aby przypisania były zgodne tylko między typami danych. Na przykład liczba całkowita może być niezmiennie przypisana do liczby long, simple może zawsze być przypisane do double, a pozostałe będą każdym pojedynczy typ (z wyjątkiem typu zdefiniowanego przez użytkownika) jest często przypisywany wariancie.
Decyzja: przekaż jedyną odpowiednią właściwość lub wyślij e-mailem nową metodę pasującą do obiektu.
Jak poradzić sobie z rzeczywistym błędem niezgodności typu w VBA?
Niezgodność rodzaju VBA daje dopasowanie “Runtime Error” do procedury błędu 13. Aby uniknąć takich błędów, doskonałym pomysłem jest prawidłowe przypisanie zmiennych z doskonałym wyborem pod względem danych i klas obiektów. Ponadto musimy zrozumieć każdy typ pasma z wartościami, które może zawierać.
Powód: moduł wykorzystywał nazwę zaufanego lub może projektu, gdzie super było oczekiwanym wyrażeniem , na przykład:
Debug.Print MyModule
Powód: Próbowałeś zintegrować podstawową obsługę błędów z wartościami wariantów wymagającymi dowolnego błędu (10, podtyp vbError) z powodu Przykładu:
błąd CVErr(n)
Decyzja. Aby zregenerować zdrowy błąd, musisz go zmapować na jakiś wewnętrzny lub niestandardowy błąd Visual Basic, a następnie zgłosić ten błąd.
Prosty powód. Wartości CVErr nie można przekonwertować na praktycznie żadną datę. Na przykład:
MyVar = CDate(CVErr(9))
Decyzja. Użyj instrukcji select case lub bardzo podobnej konstrukcji, aby dopasować zwrot CVErr do typów wartości.
Obejście: Aby wydrukować tablice, utwórz pętlę, która drukuje każdy pojedynczy element indywidualnie.
Aby uzyskać więcej informacji, wybierz żądany program i naciśnij F1 (Windows) lub HELP (Macintosh).
Dodatkowa pomoc, opinie
EMasz pytania lub komentarze dotyczące pakietu Office VBA lub tej dokumentacji? Zobacz Opinie dotyczące pakietu Office VBA, a więc wsparcie, aby uzyskać informacje zwrotne i wsparcie.
Komputer działa wolno?
ASR Pro to najlepsze rozwiązanie dla potrzeb naprawy komputera! Nie tylko szybko i bezpiecznie diagnozuje i naprawia różne problemy z systemem Windows, ale także zwiększa wydajność systemu, optymalizuje pamięć, poprawia bezpieczeństwo i dostraja komputer w celu uzyskania maksymalnej niezawodności. Więc po co czekać? Zacznij już dziś!
Chcesz opracować rozwiązanie, które rozszerza pakiet Office na wiele platform? Sprawdź każdy z naszych nowych szablonów dodatków pakietu Office. Dodatki pakietu Office mają mniejszy wpływ niż dodatki i rozwiązania VSTO. Tak więc osoba może je tworzyć za pomocą prawie każdej technologii programowania komputerowego, takiej jak HTML5, JavaScript, CSS3 i XML.
Nie najlepsza odpowiedź, której szukasz? Wyświetl inne oznaczone pytania testowe dotyczące niezgodności VBA programu Excel lub odpowiedz na własne pytanie.
Jak naprawić błąd Visual Basic Runtime Error 13?
Otwórz nowy plik Excel i ustaw główny tryb obliczeń na Ręczny.Kliknij Narzędzia >> Makro >> Bezpieczeństwo >> Wysoki poziom.Jeśli zwykle używasz programu Excel 2007, kliknij Office >> Opcje programu Excel >> Centrum zaufania.
Zadeklaruj poprawnie zmienne Dim x#, y#
. Czy to naprawi błąd niezgodności, otrzymasz jeszcze jeden błąd, ponieważ y(j - 1)
oczekuje niezliczonej liczby. Dodaj znak mnożenia, który będzie traktowany jako y * (j-1)
, a pomyślnie wyleczysz ten błąd, ale możesz otrzymać powódź, jeśli Selection.Rows . Count > 2
, aby publiczność mogła również dodać for do testowania tego.
Co to jest błąd niezgodności funkcjonalnej?
SubmultRowsTo1Row() Wejście ściemnianiaZakres jako wariant Wyciszony zakres wyjściowy w porównaniu z opcją Gradacja y#, x# Jeśli zaznaczenie.Liczba wierszy > 2 Wtedy MsgBox "Zły wybór!", vbCritical wyjście poniżej przerwać, jeśli Pole wejściowe implikuje wybór y = UBound(zakres wejściowy, 1) x = UBound(Obszar wejściowy, 2) ReDim outputRange (1 do x (puste) y)Dla n = 1 do y Dla i = 1 do x zakres wyjściowy(i + n * (j - - 1)) = zakres ekspertyzy (j, i) Potem jaJ następnyselect.offset(0, x).selectkoniec pod
Jak zawsze, wielu awarii i debugowania można łatwo uniknąć, używając Option Explicit
i podając zmienne w określonym wpisz
🙂
zaktualizowano 22 maja 2013 o 23:29.
Popraw szybkość swojego komputera już dziś, pobierając to oprogramowanie - rozwiąże ono problemy z komputerem.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
Шаги по устранению ошибки выполнения Excel VBA 13 Несоответствие типа массива
Passaggi Per Risolvere L’errore Di Runtime VBA Di Excel 13 Non Corrispondenza Del Tipo Di Array