エクセルVBA マクロの作成をお願い致します。


例えばブックの中にシートが5つあります。
シートの3番目から5番目(最後のシート)のセル(A1)をシート2番目のA1にSUMで合計を出してほしいです。
※シートの数が変動しても対応できるようお願い致します。
(シートの数が3以上あるのは確定)

環境はwin7 office2007です。
よろしくお願い致します。

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2014/09/23 22:01:23
  • 終了:2014/09/25 15:39:06

ベストアンサー

id:jan8 No.1

jan8回答回数454ベストアンサー獲得回数962014/09/23 22:40:48

ポイント100pt

SUM関数はシートをまたがって計算する事が可能ですよ。
キーワードは「Excel 串刺し」とか「3D集計」とか。
http://kokodane.com/tec2_38.htm

シートの追加や削除があっても、並び順に気をつければ大丈夫です。
(WorkSheetsのIndexプロパティ:シートの追加・削除・移動時に自動的に番号が変更されます)
http://allabout.co.jp/gm/gc/295862/

id:tyyyu2005

ありがとうございます。
こんな方法があったんですね。
(ここから) (ここまで)のシートを挿入して対応できました。

2014/09/25 15:38:56
  • id:Yoshiya
    Sub main()

    Dim WSCount As Integer
    Dim Total As Long
    Dim lp As Integer

    WSCount = Worksheets.Count
    If WSCount > 2 Then
    For lp = 3 To WSCount
    If IsNumeric(Worksheets(lp).Range("A1")) = True Then
    Total = Total + Worksheets(lp).Range("A1")
    End If
    Next lp
    End If

    Worksheets(2).Range("A1") = Total

    End Sub

    注)セルの値が数字以外の場合は無視します。(IsNumeric関数でチェック)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません