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"
Nexteli 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)
' ...
NextTietysti 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 FunctionQuizro, 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.