Hi There,

I would like to make some Sub-totals (Data>Subtotals) and replace the
resulting formulas
like eg: =3DSUBTOTAL(9;G2:G29)
with formula: =3DSUBTOTAL(9;G2:NextUp)
to make sure that when inserting a new row I sum properly!

As by Charly Kid: http://www.exceluser.com/solutions/errors_sums.htm

Where NextUp is a Defined Name created (with G29 being the active cell)
as: !G28
At first it seems a practical technique!

There is though a serious drawback to the use of this kind of Usage:
Discussion on:
http://www.*****-blog.com/archives/2...defined-names/

Jan-Karel Pieterse:
Quote:
"If you use names like that, as long as Excel itself is firing the
recalculation of the worksheet, all is well.
BUT.
As soon as VBA fires a recalc (e.g. Application.Calculate)
Any cell that uses this global sheet-independent name will get the
value of cell A1 ON THE ACTIVE SHEET!
Unquote (Refering to the name: =3D!$A$1)

Stephen Bullen:
Quote:
"DON=E2=80=99T DO THAT!!
It=E2=80=99s even worse than Jan Karel suggests. If, for example, you have
calculation set to automatic, you can trigger a recalc in VBA by
setting a cell=E2=80=99s value in any worksheet. If you do, the =E2=80=98gl=
obal=E2=80=99
name will refer to the worksheet in which the recalc was triggered.
'
Unquote

These Excel-lencies strongly disapprove the usage of this kind of
Global names!
Though suggest the following:

JKP:
"Better to use =3DINDIRECT(=E2=80=9DA1=E2=80=B3), which has the desired eff=
ect too,
without the VBA recalc bug.
Only drawback is that the reference is fixed, ..
''
Charles Williams:
Quote:
"You can create global relative names using INDIRECT with R1C1 mode
reference, but personally I would prefer not to use such a
construction!
=3DINDIRECT(R[-1]C1,False)
"
Unqoute

IMO, to by-pass the problem of in-correct calculation when forcing a
VBA-recalc my NextUp name should be as described by Charles! Though it
seems he is not fond of his own "construction".

Why?
What are the drawbacks on this name?


Thanks for your insights!
Sige