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
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,
261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849