• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

LBound dwingen via option base 1 of op een andere manier, kan dat?

Status
Niet open voor verdere reacties.

sylvester-ponte

Verenigingslid
Lid geworden
19 apr 2007
Berichten
6.620
hallo,
'ik wil graag bijde LBound's op 1 hebben hoe doe ik dat ?
Code:
Option Base 1
Sub test()
    Dim R As Range
    Set R = [A1:A3]
    t = R
    Ut = UBound(t)
    Lt = LBound(t)  '  =1
    
    s = Split([a1])
    Us = UBound(s)
    Ls = LBound(s)  '  =0
End Sub
zie voorbeeld:
 

Bijlagen

Option Base 1 heeft alleen effect op arrays die zijn gedeclareerd met een grootte (Dimensie)
Bij je voorbeeld t is dat automatisch het geval omdat je daar een range gebruikt.
Bij je voorbeeld s is dat niet het geval.
 
Split geeft altijd een zero based array terug. (ook bij option base 1)

Code:
  s = Split([a1])
 ReDim Preserve s(LBound(s) + 1 To UBound(s) + 1)

of

Code:
s = Application.Transpose(Application.Transpose(Split([a1])))
 
Laatst bewerkt:
Eric, de
Code:
 ReDim Preserve s(LBound(s) + 1 To UBound(s) + 1)
krijg ik niet aan de praat, misschien kun je de code in het voorbeeld zetten.
deze
Code:
s = Application.Transpose(Application.Transpose(Split([a1])))
doet het wel.
bedankt
 
Laatst bewerkt:
Je moet s wel even dimensioneren

Code:
Sub test()
[COLOR="#FF0000"]Dim s as variant[/COLOR]
s = Split([a1])
ReDim Preserve s(LBound(s) + 1 To UBound(s) + 1)
    Us = UBound(s)
    Ls = LBound(s)
End Sub
 
iedereen die de moeite heeft genomen er naar te kijken bedankt.

Eric die redim ga ik gebruiken :thumb:

ik ga afsluiten.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan