Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13506 / 13646 ツリー ←次へ | 前へ→

【5084】セル式について 晴香 03/4/21(月) 18:46 質問
【5086】Re:セル式について ichinose 03/4/21(月) 20:50 回答
【5089】Re:セル式について bykin 03/4/21(月) 23:25 回答
【5090】Re:セル式について ichinose 03/4/21(月) 23:29 お礼
【5097】Re:セル式について 晴香 03/4/22(火) 11:43 お礼

【5084】セル式について
質問  晴香  - 03/4/21(月) 18:46 -

引用なし
パスワード
   こんにちは!

早速ですが、質問です。
1つのシート(WORKSHEET)に1つの表があります。
その表に対するグラフが次のシート(CHART)にあります。
これを1セットとして、表,グラフ,表,グラフ,・・・という具合に続きます。
最後に全体の合計の表とグラフを作成します。
値は今までの表の同じ項目の値の合計を表示します。
表はすべて同じレイアウトで同じセル位置に存在します。
単純にSUM関数を使ったら表の数が多くてセル式が入りきらなくなりました。
なにかスマートにする方法はないでしょうか?
教えてください。

【5086】Re:セル式について
回答  ichinose  - 03/4/21(月) 20:50 -

引用なし
パスワード
   ▼晴香 さん:
こんばんは。
>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の合計を表示します。
他に方法があるかもしれません・・・。

【5089】Re:セル式について
回答  bykin  - 03/4/21(月) 23:25 -

引用なし
パスワード
   こんばんわ。

串刺し集計したいってことかな?
例えばデータシートがSheet1〜Sheet10で、集計シートのセルA1の数式が
=SUM(Sheet1!A1,Sheet2!A2,・・・,Sheet10!A1)
なんてなってるんやったら、その数式を
=SUM(Sheet1:Sheet10!A1)
ってやったらあかんのかな?

いっぺん試してみてな。
ほな。

【5090】Re:セル式について
お礼  ichinose  - 03/4/21(月) 23:29 -

引用なし
パスワード
   ▼bykin さん:
こんばんは。
>
>串刺し集計したいってことかな?
>例えばデータシートがSheet1〜Sheet10で、集計シートのセルA1の数式が
>=SUM(Sheet1!A1,Sheet2!A2,・・・,Sheet10!A1)
>なんてなってるんやったら、その数式を
>=SUM(Sheet1:Sheet10!A1)
>ってやったらあかんのかな?
>
>いっぺん試してみてな。
>ほな。
知りませんでした。
勉強になりました。
ありがとうございました。

【5097】Re:セル式について
お礼  晴香  - 03/4/22(火) 11:43 -

引用なし
パスワード
   ▼ichinose さん:
▼bykin さん:

お二人ともおはようございます。
質問に答えて下さってありがとうございます!!
bykinさん方法でやってみました。
うまくいきました。カンドー!!

またよろしくお願いします。

13506 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free