|
▼晴香 さん:
こんばんは。
>1つのシート(WORKSHEET)に1つの表があります。
>その表に対するグラフが次のシート(CHART)にあります。
>これを1セットとして、表,グラフ,表,グラフ,・・・という具合に続きます。
>最後に全体の合計の表とグラフを作成します。
>値は今までの表の同じ項目の値の合計を表示します。
>表はすべて同じレイアウトで同じセル位置に存在します。
>単純にSUM関数を使ったら表の数が多くてセル式が入りきらなくなりました。
>なにかスマートにする方法はないでしょうか?
>教えてください。
簡単な関数は思いつきませんでした。
ユーザー定義関数を作りました。
'=============================================================
Function spsum(rng As Range)
Dim cshtname As String
Dim sht As Worksheet
If LCase$(TypeName(Application.Caller)) <> "range" Then Exit Function
cshtname = Application.Caller.Parent.Name
spsum = 0
Application.Volatile (True)
For Each sht In Worksheets
If sht.Name <> cshtname Then
spsum = spsum + sht.Range(rng.Address).Value
End If
Next
End Function
例えば、最後のシートのあるセルに
「=spsum(a1)」と入力してみて下さい。
この関数を指定したシート以外のセルA1の合計を表示します。
他に方法があるかもしれません・・・。
|
|