Jag har denna kod i en for-loop:
Dim arrtop As Variant
[B]arrtop(0, i) = user_id[/B]
arrtop(1, i) = summa
Felmeddelandet jag får är:
Type mismatch
på raden med fetstil.
Vad kan det vara för fel? :q
7 svar · 285 visningar · startad av ampy
Jag har denna kod i en for-loop:
Dim arrtop As Variant
[B]arrtop(0, i) = user_id[/B]
arrtop(1, i) = summa
Felmeddelandet jag får är:
Type mismatch
på raden med fetstil.
Vad kan det vara för fel? :q
Dim arrtop[b]()[/b] As Variant
Vad är i?
Private Const MAX_VALUE_1 As Long = 10
Private Const MAX_VALUE_2 As Long = 10
Dim arrtop(MAX_VALUE_1, MAX_VALUE_2) As Variant
Det jag tänkte påpeka är att innan du använder din array, så bör du ha den korrekt Dim:ad (How to Determine if an Array has been Dimensioned)
i innehåller värden från 0 och uppåt. Du kanske missade att koden ligger i en for-loop?
Vad menar du med korrekt dimad?
Är den inte det? :q
Subscript out of range innebär att du försöker sätta ett värde på index i din array som är större än UBound(arrtop). Så får man inte göra, eftersom då skulle operativet haverera pga slaskskrivningar i minnet.
Dim arrtop() As Variant
Dim iMax As Long
iMax = [i]maxvärdet som du ska använda i din loop[/i]
ReDim arrtop(2, iMax + 1) As Variant
For i = 0 To iMax
.
.
.
arrtop(0, i) = user_id
arrtop(1, i) = summa
Next i
Det kanske beskriver lite bättre vad jag menar ;)
Tackar!
Fungerar nu. :)
En liten annan sak också bara:
Såg att du skrev next i
Jag brukar bara skriva next
Är det ngn skillnad?
Om du har nästlade loopar är det bra att man kan vara tydlig i sin kod genom att specificera vilken av looparna det är du vänder. Det behövs (enligt min uppfattning) inte, men det tillhör (även det IMHO) god programmerarsed.
Mvh,