Miten saa palautettua taulukon koon numeroarvona.
Pitäisi saada taulukon joka solulle tehtyä jotain.
Dim i As Integer For i = 0 To TAULUKKO_PITUUS taulukko(i) = "blaablaablaa" Next
eli miten tässä esimerkissä saa selville TAULUKON_PITTUS
Funktio LBound kertoo taulukon alimman indeksin ja funktio UBound kertoo taulukon ylimmän indeksin.
Voit siis tehdä silmukan näin:
For i = LBound(taulukko) To UBound(taulukko) ' ... Next
Tietysti jos tiedät, että taulukko alkaa aina nollasta, pelkkä UBound riittää.
Itellä ei jostain syystä ubound toiminut, miten piti.
Ehkä vaan sähläsin, käytin tälläistä koodia.
Taitaa olla ihan sama mutta lisätty jotain juttuja, sori jos sekoitin :D
Public Function UUBound(a As Variant) As Long On Error Resume Next Dim size As Long size = UBound(a) If Err = 9 Then UUBound = -1 Else UUBound = size End If End Function
Quizro, Kyllä tuo minulla toimii. Kokeilin sitä näin:
Private Sub Form_Load() Dim taulu(10) As Variant MsgBox UUBound(taulu) End Sub 'ja tänne tuo funktiosi
Mutta jos 'taulu' ei ole taulu, niin silloin se palauttaa arvoksi nollan.
Joo, siis minulla toimii tuo funktio, mutta Uboundia en osannu käyttää, en tiiä miks :D
Jos taulukossa on useampia ulottuvuuksia kuin vain yksi, niin UBoundille on ilmoitettava mistä ulottuvuudesta on kiinnostunut. Eli...
Dim Taulukko(2 to 4, 2 to 6) As String MsgBox Lbound(Taulukko, 1) & " to " & Ubound(Taulukko, 1) '2 to 4 MsgBox Lbound(Taulukko, 2) & " to " & Ubound(Taulukko, 2) '2 to 6
Aihe on jo aika vanha, joten et voi enää vastata siihen.