Telefonszámunk: 1-472-0679

ReDim (1 to p)

Kezdőlap Fórumok Excel programozás ReDim (1 to p)

Ennek a témakörnek tartalma 2 hozzászólás, 3 résztvevő. Utolsó frissítés:  horvimi 2 hónapja, 3 hete telt el.

3 bejegyzés megtekintése - 1-3 / 3
  • Szerző
    Bejegyzés
  • #5573

    Titok
    Felhasználó

    Sziasztok!

    Lehet valahogy úgy használni a ReDim-et, hogy (1 to parameter) legyen a tömb?

    Így megy, csak így figyelni kell az ugratásra a ciklusokban.
    Eddig még nem jött velem szembe megoldás, ezért kérdezném.

    Dim sh() As String

    lap = Sheets.Count
    ReDim sh(lap)

    For i = 0 To lap – 1
    sh(i) = Sheets(i + 1).Name
    Next i

    For i = 1 To lap

    Sheets(sh(i – 1)).Activate
    f = Cells(1, 3).Value
    Sheets(“Másol”).Activate
    Cells(i + 2, 1).Value = f
    Cells(i + 2, 2).Value = sh(i – 1)

    Next i

    #5574

    delila
    Felhasználó

    Ha nem a ReDim a lényeg, akkor egyszerűbben is megoldható 1 ciklusban.

    Sub mmm()
        Dim i As Integer
        For i = 1 To Sheets.Count - 1 'utolsó lap a Másol nevű
            Sheets(i).Cells(1, 3).Copy Sheets("Másol").Cells(i + 1, 1)
            Sheets("Másol").Cells(i + 1, 2) = Sheets(i).Name
        Next i
    End Sub

    nem próbáltam ki a ReDim-et. 🙂

    #5576

    horvimi
    Adminisztrátor

    Ha viszont a Redim a lényeg, akkor beállítható, hogy a tömböket ne nullától, hanem 1-től indexelje, csak nme javasolt.
    A modul tetejére (ahová az option explicit szokott kerülni) be kell írni, hogy

    Option Base 1

    De ez nem a legjobb megoldás, inkább deklarációkor szokták megadni, hogy a tömb mettől meddig megy alapból.

    Dim Sh() as string   'Dinamikus tömb
    
    Megy a progi ... majd egyszer csak méret növelés, az eddigiek megőrzésével
    
    Redim Preserve sh(1 to új méret)

    Preserve nélkül újra dimenzionálja a tömböt, de eldobja a tartalmát. Ja, és az 1-el megadod azt is, hogy 1-től fogja indexelni.

    Amíg még nincs tartalma, elég a Redim önállóan.
    Ciklusban feltöltögetve dinamikusan már kell a Preserve is.

    Imre

    • A hozzászólás módosításra került: 2 hónapja, 3 hete telt el- horvimi.
3 bejegyzés megtekintése - 1-3 / 3

Be kell jelentkezni a hozzászóláshoz.