Table of Contents
I den här rapporten kommer vi att ta reda på några möjliga orsaker som experter hävdar kan orsaka Excel VBA 13 Runtime Error, Array Type Mismatch, och sedan kommer jag att ge lite möjliga lösningar som du kan försöka ta fram detta problem.
Datorn går långsamt?
Ett fel i VBA-typ uppstår när du går för att tilldela ett värde mellan två olika sorters variabler. Felet visas även om “Runtime Error 13 – Type Mismatch” visas. Till exempel om du försöker hälla text i en lång heltalsvariabel, eller i fall där du planerar att lägga in text i en arbetsdagsvariabel.
Visual Basic kan hjälpa till att fläkta och tvinga fram många värden för att uppfylla läxor av datatyp som inte var möjliga i tidigare versioner.
Ett sådant fel kan dock fortfarande uppstå och har följande orsaker och lösningar:
Beslut. Försök att göra tilldelningar endast kompatibla för datatyper. Till exempel kan heltal alltid förbli tilldelat långt, enkelt kan alltid begäras att fördubblas, och andra kommer att vara på alla sätt (utom < < a#user-defined-type ">användardefinierad typ) tilldelas ofta på marknaden till en variant.
Beslut: skicka den enda relevanta egenskapen eller anropa en absolut ny metod som matchar objektet.
Hur hanterar du ett utvecklingsfel i VBA?
En felmatchning av VBA-typ ger dig en “Runtime Error”-matchning med felkod en ung ballerin. För att undvika sådana fel är det en bra tanke att tilldela variabler korrekt med rätt lutning vad gäller data och objekttyper. Dessutom måste vi förstå varje dataintervall med de värden det kan innehålla.
Orsak: modul använde namnet på ett betrodd eller projekt varhelst super var ett uttryck förväntat , för att passa exempel:
Debug.Print MyModule
Orsak: Du försökte blanda vital felhantering med variantvärden som kräver ett fel (10, undertyp vbError) på grund av Exempel:
CVErr(n)-fel
Beslut. För att återskapa ett friskt fel måste du placera det till något internt eller anpassat Visual Basic-fel och sedan skicka det felet.
Orsaken. CVErr-värdet kan inte konverteras till en gå ut med. Till exempel:
MyVar = CDate(CVErr(9))
Beslut. Använd en trevlig select case-sats eller en mycket liknande sammanställning för att matcha CVErr-returen med ett sådant definitivt värde.
Lösning: För att avbilda arrayer, skapa en slinga som skriver ut varje detalj individuellt.
För mer information, välj önskat objekt, tryck på F1 (Windows) eller HJÄLP (Macintosh).
Ytterligare support, feedback
Har du frågor eller kommentarer om Office VBA även den här dokumentationen? Se Office VBA Feedback och support för feedback och support.
Datorn går långsamt?
ASR Pro är den ultimata lösningen för dina PC-reparationsbehov! Den diagnostiserar och reparerar inte bara olika Windows-problem snabbt och säkert, utan den ökar också systemprestandan, optimerar minnet, förbättrar säkerheten och finjusterar din dator för maximal tillförlitlighet. Så varför vänta? Kom igång idag!
Skulle ägare vilja utveckla en lösning som utökar Office på flera plattformar? Kolla in den helt nya Office-tilläggsmallen. Office-tillägg har mindre förändring än VSTO-tillägg och lösningar. Så du kan skapa dem med nästan vilken webbprogrammeringsteknik som helst som HTML5, JavaScript, CSS3 och XML.
Inte det bästa svaret du letar efter? Visa andra flaggade Excel VBA-felmatchningstestfrågor eller svara på din egen fråga.
Hur fixar jag Visual Basic Runtime Error 13?
Öppna en ny Excel-fil och ställ in formelläget på Manuellt.Klicka på Verktyg >> Makro >> Säkerhet >> Hög nivå.Om du normalt använder Excel tre år, klicka på Office >> Excel-alternativ >> Trust Center.
Deklarera dina Dim x#, y#
-variabler korrekt. Åtgärdar den här processen ditt missmatchningsfel, får du ett extra fel eftersom y(j - 1)
förväntar sig en array. Lägg till ett multiplikationstecken, som kommer att behandlas tillgängligt som y * (j-1)
och du kommer att fixa det hela felet, men du kan få vilket överflöde som helst om du hittar Selection.Rows . Räkna > 2
så du lägger ofta också till ett för för att testa detta.
Vad är ett missmatchningsfel?
SubmultRowsTo1Row() Dim inputRange As Variant Dämpat utgångsområde som tillval Gradering y#, x# Om urval.Radräkning > 2 Då MsgBox "Fel val!", vbCritical utgång under stängning om Inmatningsfält = välj y = UBound(indataområde, 1) x = UBound(InputArea, 2) ReDim output Range(1 till x (tom) y)För t = 1 till y För i = 1 till x utdataområde (i + y helt enkelt * (j - - 1)) = idéområde (j, i) Sen jagJ nästaselect.offset(0, x).selectsluta under
Som alltid kan många krascher och felsökning bara undvikas genom att använda Option Explicit
och ge intervall en specifik typ
🙂
renoverad 22 maj 2013 23:29.
Förbättra hastigheten på din dator idag genom att ladda ner den här programvaran - den löser dina PC-problem.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 배열 유형 불일치를 해결하는 단계
Kroki Rozwiązania Błędu Wykonawczego Excel VBA 13 Niezgodność Typu Tablicy
Шаги по устранению ошибки выполнения Excel VBA 13 Несоответствие типа массива
Passaggi Per Risolvere L’errore Di Runtime VBA Di Excel 13 Non Corrispondenza Del Tipo Di Array