---
title: "Tredimensionell array?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/150140-tredimensionell-array"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "eddy1"
published: "2006-08-15T08:11:54.000Z"
updated: "2006-08-16T19:23:56.000Z"
replies: 12
views: 807
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/150140-tredimensionell-array"
---

# Tredimensionell array?

## #1 — eddy1, 2006-08-15T08:11Z

Hej
Jag använder mig nu av en vanlig array. I arrayen sparas olika mått, men nu skulle jag behöva sätta en flagga till varje mått som anger typ av mått.. Jag har för mig att det finnas något som heter tre dimensionell array? Hu rfunkar den isåfall??

kan säga att det är i vba jag ska använda mig av det..

Mvh

Permalänk: https://www.webforum.nu/p/150140

## #2 — @nders, 2006-08-15T08:14Z

En tredimensionell array är mer eller mindre tvådimensionella arrays ovanpå varandra.

Ett exempel: <http://www.freevbcode.com/ShowCode.Asp?ID=1541>

Mvh

Permalänk: https://www.webforum.nu/p/1852456

## #3 — eddy1, 2006-08-16T07:13Z

Okey, vad jag är uteefter är en tvådimensionnel array..

Saken är den att jag kör en loop och jag vet aldrig hur lång den blir, varje gång loopen körs så dimensionerar jag om arrayen.
Så när jag använde en endimensionell array körde jag bara

```
ReDim Preserve AllaSektioner((UBound(AllaSektioner) + 1))
```

men om jag nu istället vill ha en tvådimensionell och skriver 

```
ReDim Preserve AllaSektioner((UBound(AllaSektioner) + 1),0)
```

så får jag felet: Indexet är utanför intervallet..

Så här ser deklarationen ut av array'en

```
AllaSektionerr = Array()
```

Vet inte riktigt vad jag gör för fel??

Permalänk: https://www.webforum.nu/p/1852776

## #4 — @nders, 2006-08-16T07:22Z

Du kan inte ändra storlek på den första dimensionen, bara den andra.

Mvh

Permalänk: https://www.webforum.nu/p/1852780

## #5 — eddy1, 2006-08-16T17:33Z

Okey, men om jag nu vänder på det då så jag vill dimensionera upp den andra då varför blir det fel med följande kod??

```
ReDim Preserve AllaSektioner(0, (UBound(AllaSektioner) + 1))
```

 

Får bara felet: Index utanför intervall..

Permalänk: https://www.webforum.nu/p/1852980

## #6 — @nders, 2006-08-16T17:35Z

När du använder ubound måste du ange vilken dimension du vill ha (om du inte menar första dimensionen, som är default för ubound. Detta borde funka:

```
ReDim Preserve AllaSektioner(0, UBound(AllaSektioner[b], 2[/b]) + 1)
```

mvh

Permalänk: https://www.webforum.nu/p/1852983

## #7 — eddy1, 2006-08-16T17:40Z

nepp jag kunde inte få det att fungera, fortfarande samma fel...

Lite klurigt det här?

Permalänk: https://www.webforum.nu/p/1852986

## #8 — @nders, 2006-08-16T18:23Z

Hur har du deklarerat AllaSektioner?

Permalänk: https://www.webforum.nu/p/1853001

## #9 — eddy1, 2006-08-16T18:27Z

Så här?

```
Dim AllaSektioner() As Variant
```

Permalänk: https://www.webforum.nu/p/1853003

## #10 — @nders, 2006-08-16T18:49Z

Prova att göra *redim AllaSektioner(0,0)*, så den har två dimensioner innan du försöker köra ubound på dimension 2.

Permalänk: https://www.webforum.nu/p/1853010

## #11 — eddy1, 2006-08-16T19:17Z

då får jag felet matrisen har redan dimensionerats....

saken är att det funkar att redim'ma om man inte använder sig utav ubound utan bara anger dimensionen...

Permalänk: https://www.webforum.nu/p/1853024

## #12 — @nders, 2006-08-16T19:20Z

> då får jag felet matrisen har redan dimensionerats....

Verkligen? Du skrev **re**dim AllaSektioner(0,0)?

Permalänk: https://www.webforum.nu/p/1853026

## #13 — eddy1, 2006-08-16T19:23Z

fel av mig, jag missuppfatta lite...

Nu verkar det funka, ska testa lite mer...

Tack för hjälpen!

Permalänk: https://www.webforum.nu/p/1853028

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/150140-tredimensionell-array
