Discussion:
Bereken het gemiddelde van een dynamisch bereik.
(te oud om op te antwoorden)
Johannes
2006-02-20 07:47:28 UTC
Permalink
Ik heb een rij meetgegevens.
Met behulp van een loop wordt bepaald welke meetgegevens relevant zijn.
Van deze waarden wil ik het gemiddelde berekenen.
Het begin van het bereik wordt wordt aangegeven door de variabele cw1 en het
eind door cw2
Het volgende heb ik al geprobeerd, maar dit werkt niet.

Range("H1").Select
ActiveCell.Formula = "=AVERAGE(Cells(cw1,1):Cells(cw2,1))"
of
Range("H1").Select
ActiveCell.Formula = "=AVERAGE(Range(cw1,1):Range(cw2,1))"

Hoe kan ik dit het beste oplossen?????
Bijvoorbaat dank voor jullie hulp.

Johannes
]-[oRus
2006-02-20 08:57:29 UTC
Permalink
Post by Johannes
Ik heb een rij meetgegevens.
Met behulp van een loop wordt bepaald welke meetgegevens relevant zijn.
Van deze waarden wil ik het gemiddelde berekenen.
Het begin van het bereik wordt wordt aangegeven door de variabele
cw1
en het eind door cw2
Het volgende heb ik al geprobeerd, maar dit werkt niet.
Range("H1").Select
ActiveCell.Formula = "=AVERAGE(Cells(cw1,1):Cells(cw2,1))"
of
Range("H1").Select
ActiveCell.Formula = "=AVERAGE(Range(cw1,1):Range(cw2,1))"
Hoe kan ik dit het beste oplossen?????
Bijvoorbaat dank voor jullie hulp.
Johannes
Niet geprobeerd, maar ik denk dat je meer moet in de richting van
Range("H1").Value=Average(Range(cells(cw1,1):cells(cw2,1)))

Eerst een select is iig niet nodig en de methode formula zet wel de
formule in de cel, maar die verandert kennelijk toch steeds, dus kan
je net zo goed gelijk het resultaat daar zetten.
Anders moet eerst de VBA-code worden geïnterpreteerd en vervolgens
alsnog de formule.
Gebruik je dat in een NL-versie, dan weet ik ook niet of dat wel
werkt.....
--
Vriendelijke groeten,

]-[oRus
Johannes
2006-02-20 10:16:28 UTC
Permalink
]-[orus,
In ieder geval al bedankt voor je snelle reactie, maar het probleem is als
je de kreet 'value' gebruikt de formule in de cel geplaatst wordt. Excel
geeft dan een formule error. Excel accepteert kennelijk de formulevorm
'=average(cells(40,1),cells(100,1)) ' niet. En een met andere cel definitie(
als Cells(x,y) kun je kennelijk weer niet met variabelen werken.
Post by ]-[oRus
Post by Johannes
Ik heb een rij meetgegevens.
Met behulp van een loop wordt bepaald welke meetgegevens relevant zijn.
Van deze waarden wil ik het gemiddelde berekenen.
Het begin van het bereik wordt wordt aangegeven door de variabele
cw1
en het eind door cw2
Het volgende heb ik al geprobeerd, maar dit werkt niet.
Range("H1").Select
ActiveCell.Formula = "=AVERAGE(Cells(cw1,1):Cells(cw2,1))"
of
Range("H1").Select
ActiveCell.Formula = "=AVERAGE(Range(cw1,1):Range(cw2,1))"
Hoe kan ik dit het beste oplossen?????
Bijvoorbaat dank voor jullie hulp.
Johannes
Niet geprobeerd, maar ik denk dat je meer moet in de richting van
Range("H1").Value=Average(Range(cells(cw1,1):cells(cw2,1)))
Eerst een select is iig niet nodig en de methode formula zet wel de
formule in de cel, maar die verandert kennelijk toch steeds, dus kan
je net zo goed gelijk het resultaat daar zetten.
Anders moet eerst de VBA-code worden geïnterpreteerd en vervolgens
alsnog de formule.
Gebruik je dat in een NL-versie, dan weet ik ook niet of dat wel
werkt.....
--
Vriendelijke groeten,
]-[oRus
]-[oRus
2006-02-20 10:49:00 UTC
Permalink
Post by Johannes
]-[orus,
In ieder geval al bedankt voor je snelle reactie, maar het probleem
is als je de kreet 'value' gebruikt de formule in de cel geplaatst
wordt. Excel geeft dan een formule error. Excel accepteert kennelijk
de formulevorm '=average(cells(40,1),cells(100,1)) ' niet. En een
met andere cel definitie( als Cells(x,y) kun je kennelijk weer niet
met variabelen werken.
Post by ]-[oRus
Post by Johannes
Ik heb een rij meetgegevens.
Met behulp van een loop wordt bepaald welke meetgegevens relevant zijn.
Van deze waarden wil ik het gemiddelde berekenen.
Het begin van het bereik wordt wordt aangegeven door de variabele
cw1
en het eind door cw2
Het volgende heb ik al geprobeerd, maar dit werkt niet.
Range("H1").Select
ActiveCell.Formula = "=AVERAGE(Cells(cw1,1):Cells(cw2,1))"
of
Range("H1").Select
ActiveCell.Formula = "=AVERAGE(Range(cw1,1):Range(cw2,1))"
Hoe kan ik dit het beste oplossen?????
Bijvoorbaat dank voor jullie hulp.
Johannes
Niet geprobeerd, maar ik denk dat je meer moet in de richting van
Range("H1").Value=Average(Range(cells(cw1,1):cells(cw2,1)))
Eerst een select is iig niet nodig en de methode formula zet wel de
formule in de cel, maar die verandert kennelijk toch steeds, dus kan
je net zo goed gelijk het resultaat daar zetten.
Anders moet eerst de VBA-code worden geïnterpreteerd en vervolgens
alsnog de formule.
Gebruik je dat in een NL-versie, dan weet ik ook niet of dat wel
werkt.....
--
Vriendelijke groeten,
]-[oRus
Met value zet je de uitkomst van de berekening achter = als waarde in
die cel en niet de formule.
Dat gebeurt alleen als je, zoals in je eigen voorbeeld, de formule
tussen "" hebt staan. Dan is het gewoon tekst.
Range("H1").Formula = "=Gemiddelde(A" & Range("A1").Value & ":A" &
Range("A2").Value & ")"
voldoet aan de wensen. De functie Average werkt/bestaat niet in VBA en
dat lukte dus niet.
--
Vriendelijke groeten,

]-[oRus
emil
2006-02-20 08:59:29 UTC
Permalink
gebruik de macrorecorder voor het maken van de formule.
je ziet dan dat de notatie heel anders is dan je nu gebruikt.

voorbeeld met absolute cel verwijzing:
ActiveCell.FormulaR1C1 = "=AVERAGE(R[2]C:R[17]C)"
--
groet, emil
<getest met office2000>



"Johannes" <***@discussions.microsoft.com> schreef in bericht news:B1DBB908-0DBB-4E9D-98DF-***@microsoft.com...
Ik heb een rij meetgegevens.
Met behulp van een loop wordt bepaald welke meetgegevens relevant zijn.
Van deze waarden wil ik het gemiddelde berekenen.
Het begin van het bereik wordt wordt aangegeven door de variabele cw1 en het
eind door cw2
Het volgende heb ik al geprobeerd, maar dit werkt niet.

Range("H1").Select
ActiveCell.Formula = "=AVERAGE(Cells(cw1,1):Cells(cw2,1))"
of
Range("H1").Select
ActiveCell.Formula = "=AVERAGE(Range(cw1,1):Range(cw2,1))"

Hoe kan ik dit het beste oplossen?????
Bijvoorbaat dank voor jullie hulp.

Johannes
Johannes
2006-02-20 10:56:28 UTC
Permalink
Beste Emil,

Als het altijd hetzelfde bereik was heb je helemaal gelijk.
Helaas weet ik van te voren welk bereik de formule moet bestrijken.
En in de door jou gebruikte notatie kan ik (in de macro) weer geen variabele
opnemen.
in ieder geval bedankt voor je reactie
Post by emil
gebruik de macrorecorder voor het maken van de formule.
je ziet dan dat de notatie heel anders is dan je nu gebruikt.
ActiveCell.FormulaR1C1 = "=AVERAGE(R[2]C:R[17]C)"
--
groet, emil
<getest met office2000>
Ik heb een rij meetgegevens.
Met behulp van een loop wordt bepaald welke meetgegevens relevant zijn.
Van deze waarden wil ik het gemiddelde berekenen.
Het begin van het bereik wordt wordt aangegeven door de variabele cw1 en het
eind door cw2
Het volgende heb ik al geprobeerd, maar dit werkt niet.
Range("H1").Select
ActiveCell.Formula = "=AVERAGE(Cells(cw1,1):Cells(cw2,1))"
of
Range("H1").Select
ActiveCell.Formula = "=AVERAGE(Range(cw1,1):Range(cw2,1))"
Hoe kan ik dit het beste oplossen?????
Bijvoorbaat dank voor jullie hulp.
Johannes
emil
2006-02-20 12:50:49 UTC
Permalink
je kan zo wel met een aangepast bereik werken!
stel cw1 = H3 waarde 3
en cw2 = H15 waarde 15
dan wordt de opdracht:
ActiveCell.FormulaR1C1 = "=AVERAGE(R" & cw1 & "C:R" & cw2 & "C)"
snappie?
--
groet, emil
<getest met office2000>



"Johannes" <***@discussions.microsoft.com> schreef in bericht news:D229FF3A-542A-4007-B794-***@microsoft.com...
Beste Emil,

Als het altijd hetzelfde bereik was heb je helemaal gelijk.
Helaas weet ik van te voren welk bereik de formule moet bestrijken.
En in de door jou gebruikte notatie kan ik (in de macro) weer geen variabele
opnemen.
in ieder geval bedankt voor je reactie
Post by emil
gebruik de macrorecorder voor het maken van de formule.
je ziet dan dat de notatie heel anders is dan je nu gebruikt.
ActiveCell.FormulaR1C1 = "=AVERAGE(R[2]C:R[17]C)"
--
groet, emil
<getest met office2000>
Ik heb een rij meetgegevens.
Met behulp van een loop wordt bepaald welke meetgegevens relevant zijn.
Van deze waarden wil ik het gemiddelde berekenen.
Het begin van het bereik wordt wordt aangegeven door de variabele cw1 en het
eind door cw2
Het volgende heb ik al geprobeerd, maar dit werkt niet.
Range("H1").Select
ActiveCell.Formula = "=AVERAGE(Cells(cw1,1):Cells(cw2,1))"
of
Range("H1").Select
ActiveCell.Formula = "=AVERAGE(Range(cw1,1):Range(cw2,1))"
Hoe kan ik dit het beste oplossen?????
Bijvoorbaat dank voor jullie hulp.
Johannes
Johannes
2006-02-20 15:02:27 UTC
Permalink
Ik snap 't en Excel ook, dus werkt 't!

Bedankt!!
Post by emil
je kan zo wel met een aangepast bereik werken!
stel cw1 = H3 waarde 3
en cw2 = H15 waarde 15
ActiveCell.FormulaR1C1 = "=AVERAGE(R" & cw1 & "C:R" & cw2 & "C)"
snappie?
--
groet, emil
<getest met office2000>
Beste Emil,
Als het altijd hetzelfde bereik was heb je helemaal gelijk.
Helaas weet ik van te voren welk bereik de formule moet bestrijken.
En in de door jou gebruikte notatie kan ik (in de macro) weer geen variabele
opnemen.
in ieder geval bedankt voor je reactie
Post by emil
gebruik de macrorecorder voor het maken van de formule.
je ziet dan dat de notatie heel anders is dan je nu gebruikt.
ActiveCell.FormulaR1C1 = "=AVERAGE(R[2]C:R[17]C)"
--
groet, emil
<getest met office2000>
Ik heb een rij meetgegevens.
Met behulp van een loop wordt bepaald welke meetgegevens relevant zijn.
Van deze waarden wil ik het gemiddelde berekenen.
Het begin van het bereik wordt wordt aangegeven door de variabele cw1 en
het
Post by emil
eind door cw2
Het volgende heb ik al geprobeerd, maar dit werkt niet.
Range("H1").Select
ActiveCell.Formula = "=AVERAGE(Cells(cw1,1):Cells(cw2,1))"
of
Range("H1").Select
ActiveCell.Formula = "=AVERAGE(Range(cw1,1):Range(cw2,1))"
Hoe kan ik dit het beste oplossen?????
Bijvoorbaat dank voor jullie hulp.
Johannes
Loading...