Toon posts:

[VBA]Reference is not valid

Pagina: 1
Acties:

Verwijderd

Topicstarter
Bij het uitvoeren van het volgende stuk code in Excel krijg ik de foutmelding 'reference is not valid' bij 'plotChart.SeriesCollection.Add(Y)'. Hij wordt aangeroepen door een andere functie die X en Y vult met een array van waarden.

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Function addSeries(X As Variant, Y As Variant, plotChart As Chart)
 Dim ser As Series
 
 plotChart.SeriesCollection.Add Y
 With plotChart.SeriesCollection(1)
    .XValues = X
    .ChartType = xlXYScatter
 End With
 With plotChart.Axes(xlCategory)
    .HasTitle = True
    .AxisTitle.Text = "PbO [Wt. %]"
 End With
 With plotChart.Axes(xlValue)
    .HasTitle = True
    .AxisTitle.Text = "ThO2* [Wt. %]"
 End With
End Function



Weet iemand de oplossing?


Volgens de documentatie mag het ook gewoon een array van punten zijn:
-------
Adds one or more new series to the SeriesCollection collection.

expression.Add(Source, Rowcol, SeriesLabels, CategoryLabels, Replace)
expression Required. An expression that returns a SeriesCollection object.
Source Required Variant. The new data, either as a Range object or an array of data points.
------

Daarnaast heb ik ook al gegoogled inderdaad en op de site van microsoft (MSDN) gezocht naar deze foutmelding en wat de oorzaak van deze foutmelding kan zijn, maar daar werd me niet iets duidelijk.
Ben er nu al zeker 2 uur ofzo mee bezig, dus...

[ Voor 34% gewijzigd door Verwijderd op 17-11-2005 16:22 ]


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Y is geen geldig series object vermoed ik ;) maar zo werkt het niet. Bij je registratie heb je je akkoord verklaard met de registratievoorwaarden en Policy: Alle regels die op het forum gelden. Zou je die ajb nog een keer door willen lezen, samen met bv Algemene gedragsregels (Netiquette) en Officesuites en -software - Beleid.

Je topicstart is nu echt te mager. Het komt er neer dat je een stukje code neergooit met de vraag of wij er de fout even uit willen halen. Afgezien van het feit dat dat zo niet kan (wat is Y bv), is het ook niet de bedoeling. M.a.w. werk je topicstart even bij met wat je zelf geprobeerd, bedacht of gevonden hebt om deze foutmelding op te lossen.
en dat bedoel ik niet een zinnetje 'ik heb gegoogled' ;)

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Pannenkoekkie
  • Registratie: April 2004
  • Laatst online: 28-03-2025

Pannenkoekkie

Sugar or Cheeze?

als ik hier de code compile klopt het wel, staan je references het zelfde?

Afbeeldingslocatie: http://www.koekkie.nl/1.JPG

Verwijderd

Topicstarter
Pannenkoekkie schreef op donderdag 17 november 2005 @ 16:13:
als ik hier de code compile klopt het wel, staan je references het zelfde?
Ja, precies het zelfde.

ps. Ik krijg trouwens een runtime error, compileren gaat wel goed.

[ Voor 14% gewijzigd door Verwijderd op 17-11-2005 16:28 ]


Verwijderd

Topicstarter
Niesje schreef op donderdag 17 november 2005 @ 16:06:
Y is geen geldig series object vermoed ik ;) maar zo werkt het niet. Bij je registratie heb je je akkoord verklaard met de registratievoorwaarden en Policy: Alle regels die op het forum gelden. Zou je die ajb nog een keer door willen lezen, samen met bv Algemene gedragsregels (Netiquette) en Officesuites en -software - Beleid.

Je topicstart is nu echt te mager. Het komt er neer dat je een stukje code neergooit met de vraag of wij er de fout even uit willen halen. Afgezien van het feit dat dat zo niet kan (wat is Y bv), is het ook niet de bedoeling. M.a.w. werk je topicstart even bij met wat je zelf geprobeerd, bedacht of gevonden hebt om deze foutmelding op te lossen.
en dat bedoel ik niet een zinnetje 'ik heb gegoogled' ;)
Zoals wat er al boven stond is Y een array van waarden (doubles)...

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

STATUS
Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article.


MORE INFORMATION
The information in the Visual Basic Reference in Help incorrectly states that the source argument of the Add method (SeriesCollection) specifies the new data and can be either a Range or an array of data points. However, specifying an array of data points as a series with the Add method will produce the error stated above.
Er zit een bug in de helpfile ;)

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Verwijderd

Topicstarter
Hmm zie het nu ja, staat alleen dat die voor Office 97 geldt, maar dus blijkbaar ook voor 2000 en 2003.

Nouja, zal vast Microsoft logica zijn :/
Pagina: 1