Hoi Jan,
Ik heb je code bekeken.
De enigste reden die ik kan bedenken wat er mis kan gaan met de regel:
MSChart1.RowCount = NumRegels(1) - 3500 + 1 ' blokkeert hier. NumRegels(1) -3500 + 1 = 159
is dat .RowCount kleiner dan 0 wordt. Ik krijg dan Run-time error '1101': Bad function argument
Ik zie de berekening 3500 + 1 liever in een variabele, of anders gewoon 3501:
a) Dat leest prettiger.
b) Je code hoeft dat niet steeds te berekenen in de For...Next lus, dus is wat sneller.
c) Je bent veel sneller met wijzigen als je dit op 1 plaats doet, bijv. zoiets:
' Stel de gegevens in.
offset = 3500 + 1
For i = offset To NumRegels(1)
If i = offset Then
Koersen(i - offset, 0) = RTrim$(Left(Datum(i, 1), 4))
End If
If i > offset Then ' Om ongelijkheid op dag 1 te voorkomen
If Left(Datum(i, 1), 4) <> Left(Datum(i - 1, 1), 4) Then
' labeltekst: pas jaartal aan
Koersen(i - offset, 0) = RTrim$(Left(Datum(i, 1), 4))
End If
If Left(Right(Datum(i, 1), 4), 2) <> Left(Right(Datum(i - 1, 1), 4), 2) Then
' labeltekst: pas maandnummer aan
MaandNummer = RTrim$(Left(Right(Datum(i, 1), 4), 2))
Call MaandNummersOmzetten(MaandNummer, MaandTekst)
Koersen(i - offset, 0) = MaandTekst
End If
If (Left(Datum(i, 1), 4) = Left(Datum(i - 1, 1), 4) And Left(Right(Datum(i, 1), 4), 2) = Left(Right(Datum(i - 1, 1), 4), 2)) Then
Koersen(i - offset, 0) = " "
End If
Koersen(i - offset, 1) = OpenK(i, 1)
End If
Next i
[info]De For...Next lus kan trouwens veel beter (=sneller en logischer) ![/info]
Peter