• ベストアンサー

エクセルでシートを追加したときに自動的に計算対象に

エクセル2010で、シート1にシート2、シート3のA1を合計するという式を入れました。 この後に、シート3、シート4と同じ形式のシートを他のファイルからコピーしてくるのですが、 自動的にシート1の合計値の式の対象にする方法はないでしょうか? やはりシートを追加したときに、シート1の合計値を出す式に自分で合計対象セルとして 入れなければいけないでしょうか? シートを数百は追加していくので、一つ一つマニュアルでやるのは少々苦痛で。 アドバイスください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

'コレでもどうぞ、、、 'ThisWorkbookに登録 Option Explicit Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim xSheet As Worksheet Dim xSum As Long If (Sh.Name = "Sheet1") Then For Each xSheet In Worksheets If (xSheet.Name <> "Sheet1") Then xSum = xSum + xSheet.Range("A1").Value End If Next Range("A1").Value = xSum End If End Sub

kimi1980
質問者

お礼

回答ありがとうございます。

その他の回答 (2)

回答No.3

No.1のkeithinさんの回答にちょっと補足 START と END のシートの位置が逆にならないように気を付けてください 3D参照の数式がなくなります。 # 某掲示板で同じ回答をしたときに気付いたので。

kimi1980
質問者

お礼

回答ありがとうございます。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

STARTというシートとENDというシートを準備 >自動的にシート1の合計値の式の対象にする方法はないでしょうか? STARTからENDまでのシートの中にシート2,3、4,5,6…を挿入します 数式は =SUM(START:END!A1) とします 言わずもがなですがSTARTシートとENDシートは何も記入する必要無しです。 #参考 理屈がわかれば、同じ数式でシート2とシート3の間にシート4,5,6を挿入していけば、余計なシートを準備する必要もありません。

kimi1980
質問者

お礼

回答ありがとうございます。

関連するQ&A