Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

SOM in cel zetten met VBA

1,147 views
Skip to first unread message

willema

unread,
Mar 31, 2010, 11:01:01 AM3/31/10
to
Met
Cells(x, y + 1).Formula = "=SUM(R" & x & "C12:R" & x & "C" & y & ")"
wordt de formule in de cel weergegeven met $-tekens voor de rij- en
kolomnummers, dus achteraf sorteren is niet meer mogelijk.

Met
Cells(x, y + 1).Formula = "=SUM(I3:I" & x & ")"
wordt de formule correct weergegeven (zonder $-tekens)

Waarom en hoe krijg ik die $-tekens weg als de eerste code wordt gebruikt ?

Groeten,
Marnik


jan

unread,
Mar 31, 2010, 1:08:24 PM3/31/10
to
Marnik,

Als je in een Excelblad waar deze formules staan eens het Verwijzingstype
R1K1 aanvinkt bij Opties>Algemeen (of hoe dat heet in Excel 2007), dan zie
je denk ik wat bij niet-absolute formules wordt verwacht.

Jan


willema

unread,
Mar 31, 2010, 2:06:07 PM3/31/10
to
Dag Jan,

Ik werk het liefst met kolommen met letters en rijen met getallen.
In VBA kan je ze beiden gebruiken om een bereik te bepalen. Het maakt
daarbij niet uit hoe de weergave van het werkblad staat ingesteld onder
opties.

Het probleem dat ik heb doet zich voor als een kolom of rij met VBA berekend
wordt. Het resultaat is dan een getal (x).

Voor een rij is er geen probleem, dat is in beide weergave altijd een getal.
Met Cells(1, 1).Formula = "=SUM(B1:B" & x & ")" kan je dus verder.

Maar voor een kolom kom ik bvb. 10 uit, dat staat voor kolom J.
Bovenstaande code daar kan ik het getal 10 niet in kwijt. Dus gebruik ik
Cells(1, 1).Formula = "=SUM(R1C1:R1C" & x & ")"

En dan staat na afloop de formule verkeerd in de cel (als String-waarden)


Groeten,
Marnik

"jan" wrote:

> .
>

jan

unread,
Mar 31, 2010, 3:22:10 PM3/31/10
to
Marnik,

Mijn voorstel was niet bedoeld om permanent die weergave te wijzigen, maar
om eens te kijken hoe formules die in de A1-stijl zijn ingevoerd als
relatieve formules er uit zien in de R1C1-stijl .

Dan zie je daar haken verschijnen: []

Deze kun je in de formule vanuit VBA ook toepassen.
Je moet dan wel weten dat de formule relatief gemaakt wordt t.o.v. de cel
waarin deze wordt geplaatst:.

[A11].formula="=SUM(R[-10]C[]:R[-1]C)"

Ook een mogelijkheid om toch met getallen te werken voor de celverwijzingen:

[A11].formula="=SUM(" & cells(1,1).address(false,false) & ":" &
cells(10,1).address(false,false) & ")"

Bovenstaande levert in A11 dezelfde formule.

Jan


0 new messages