• ベストアンサー

エクセルでシート数が分からない場合の串刺し計算

エクセルで串刺し計算をする場合、データ→統合 等でできますが、ファイルによってシート数が異なる場合でも一発で串刺し計算(合計)できるように、VBAでプログラムを組むにはどのうようにすればよいのでしょうか? なお、各シートのデータはすべて同じレイアウトで作成されているとします。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

2番目から最後までのシートを一番左のシートに合計します。 コメントアウトしている r.Value = r.Value を生かすと値になります。 範囲は選択したセル範囲です。 参考に。 Sub test() Dim mySum As String, r As Range  mySum = Worksheets(2).Name & ":" & _      Worksheets(Worksheets.Count).Name & "!"  Worksheets(1).Activate  For Each r In Selection   r.Value = "=sum(" & mySum & r.Address(0, 0) & ")"   'r.Value = r.Value  Next r End Sub

aiueochama
質問者

お礼

よく考えてみると、最初と最後にシートを挿入すればうまくいきます。 大変重宝するマクロを提供していただいてありがとうございました。 また機会がありましたらよろしくお願いいたします。

aiueochama
質問者

補足

大変参考になりました。ありがとうございます。 ただ、シート名に「-」が入ってある場合(例:GC0908-100)うまくいきません。何回が試行みると、一番初めか最後のシート名に「-」が入っているとうまくいかないようです。 これを回避するにはどのようにすればいいのでしょうか?

その他の回答 (1)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

答えでなくてすみません。 VBAを使わないでもダミーのシートを作成すればいいのでは? 合計,始め,1月,2月.....12月,終わり の様にして合計のシートで =SUM(始め:終わり!A1) "始め"と"終わり"の間のシートの合計になります。

aiueochama
質問者

お礼

ご回答ありがとうございます。 3D参照 (計算式) による統合で上記の方法を使用していました。ただ今回はVBAが必要だったものですから。また機会がありましたら、よろしくお願いいたします。

関連するQ&A

  • エクセルでシート数が増加する場合の串刺し計算

    エクセルで串刺し計算をする場合、データ→統合等でできますが、ファイルによってシート数が毎日増加する場合でも一発で串刺し計算(合計)できるように、VBAでプログラムを組むにはどのうようにすればよいのでしょうか? なお、各シートのデータはすべて同じレイアウトで作成されているとします。 VBAでプログラムの記入例があれば、助かります。

  • エクセル:串刺し計算について

    お世話になります。 エクセルの串刺し計算について教えてください。 Sheet1,2は計算しないシートです。 Sheet3のA1セルにSheet4~Sheet10のA1セルの合計を出す。ここまでは簡単なのですが、ここでSheet4から右にあるシートすべてというようには出来るのでしょうか? シートが追加されても対応できるようにしたいのです。 Sheet4スタートというのは固定です。 よろしくお願いします。

  • Excel串刺し計算

    宜しくお願い致します Excel2007ですが、串刺し計算での質問です 例えば、家計簿で月の合計をE140に食費 E141光熱費・・・・・ F140に100000 F141に5000・・・ 等E150 F150までシートに毎月12月分書き込んであります そこで串刺し計算ですが、1年分の合計を出したいので、本来ならば合計のシートもF140から始めないと串刺し計算は出来ないようですが それを合計シートのみA2から始めて串刺し計算を出来る方法はありますか。 串刺しでなくても、年間の合計が出来れば良いですが。

  • 串刺し計算 離れたシートの場合

    串刺し計算をする場合、連続したシートで計算しますが、 これが離れたシートだった場合も簡単にできる方法があるのでしょうか? 良い方法がありましたら教えてください。 よろしくお願いします。

  • エクセルシートの串刺し計算について

    エクセルの串刺し計算について質問です。串刺し計算実行のため、シートのコピーアンドペーストを繰り返しているんですが、貼り付けるたびに、機能低下の警告マークが表示されます。機能低下の対象になるのは、主に図形、時々テキストボックスなどの機能低下表示も警告されます。シートの種類は97から2003、使っているエクセルのバージョンは2010です。シートの形式を変えるようにとの表記も見られますが、意味がよく分かりません。この状態で串刺し計算を実行して、正しく計算されるのでしょうか?マクロが使えれば最善だとは思うのですが、自分にそれだけの理解力があるのか自信がありません。ご存知の方、正しく計算されるための助言をお願いします。

  • excel串刺し計算で合計値が表示されない

    excelの1つのファイルに20シートほどあります。 表の形は全シート統一です。 仮にシート名を「sheet1」から「sheet20」とします。 20シートを串刺し計算して、合計値をだすために「合計」シートを作成しました。 ところが、 =SUM(sheet1:sheet20!D15) のような単純な串刺し計算にもかかわらず、 各シートに数字を入力しても「合計」シートの値は0のままなのです。 =SUM(sheet1:sheet20!D15)の式の構造がおかしいのかと、関数マーク(fx)をクリックして、構造を見てみると、 数式の結果で正しく合計された数字が表示されるのです。 つまり、各シートに数字を入力した後に、「合計」シートの串刺し計算を入力すると合計値が表示されます。 今までこのようなことはなかったのですが、どうしてなのでしょうか? 説明が下手で申し訳ありませんが、ご指導いただきたく よろしくお願いします。 excel2003です。  

  • 同一シートの串刺し計算(EXCEL2010)

    通常、串刺し計算というのはBook内の複数のシートに対して計算するものと聞いたのですが、一つのシートの中の同一行で、ある法則によって定められた複数の列(列と列の間隔がすべて定数になっている)の合計を求める方法は無いのでしょうか

  • 串刺し計算エクセル 一部シートをメールに添付したい

    excel2003を使用しております。 book内に15シートほどの集計表があり そのうち1シートは全シートを串刺し計算した総集計です。 その総集計の1シートのみをメールで送信したい場合 どうやって送ればいいのでしょうか。 串刺し計算の入っているすべてのシートを送るしかないのでしょうか。 お時間あるかたいらっしゃいましたら 回答よろしくお願いいたします。

  • エクセルの串刺し計算で・・・

    エクセル2000で質問です。 シート1~シート8まで同じ形式のシートが有ります。 その中でシート1のみセルE20にE列の合計が入っています。 シート2~シート8にはそれぞれE列の合計はセルE25に 入っています。 シート1のD10にそのすべての合計を計算させて表示させる場合の 方法を教えて下さい。

  • 串刺し計算の中のあるシートを削除した場合・・・

    エクセル2000を使用しています。 シート1~シート5までの和をシート6に串刺し計算で算出しています。 それぞれシートは違えどセル番地は同じです。 で、シート3が不要になった為にシート事削除してしまいました。 シート6の和のセルにエラー表示されるので、シート6の和が表示されて いるセルの式を一つずつ訂正しようとしましたが、一つずつ訂正するのには 数があるので面倒なんです。 この作業をまとめて行う方法を教えて下さい。 シート3はすでに削除してしまってます。

専門家に質問してみよう