Excel VBA質問箱 IV

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

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


12680 / 13644 ツリー ←次へ | 前へ→

【9186】ワークシートの集計 ど素人 03/11/20(木) 17:10 質問
【9187】Re:ワークシートの集計 INA 03/11/20(木) 17:53 回答
【9222】Re:ワークシートの集計 ど素人 03/11/24(月) 17:24 お礼
【9189】Re:ワークシートの集計 りん 03/11/20(木) 18:12 回答
【9221】Re:ワークシートの集計 ど素人 03/11/24(月) 17:19 お礼

【9186】ワークシートの集計
質問  ど素人  - 03/11/20(木) 17:10 -

引用なし
パスワード
   一つのワークシートに、ブックが150ぐらいあります。

ブックのタグには、様々な名前にしてます。

『(最初は Sheet1,Sheet2,Sheet3・・・・ になってると思います。 )ではなく、
 (北海道,秋田,青森,・・・・・・)など』

同じ行の列を集計したいのですが、マクロだと

『ActiveCell.FormulaR1C1 = "=+北海道!RC+秋田!RC+青森!RC"』

になります。

ダグ名は追加したり削除したりしますので、毎回変更しないといけないので、
誰か良い方法を教えて下さい。

【9187】Re:ワークシートの集計
回答  INA  - 03/11/20(木) 17:53 -

引用なし
パスワード
   >一つのワークシートに、ブックが150ぐらいあります。
一つのブックに、ワークシートが150 ですね?


>ブックのタグには、様々な名前にしてます。
シート名 ですね?


以下のコードは、アクティブシートA1に
ブック内の他のシートのA1を加算していくサンプルです。

Sub sample()
Dim myWS As Worksheet

With ActiveSheet

  For Each myWS In Worksheets
    If .Name <> myWS.Name Then
      .Range("A1").Value = _
      .Range("A1").Value + myWS.Range("A1").Value
    End If
  Next
  
End With
End Sub

【9189】Re:ワークシートの集計
回答  りん E-MAIL  - 03/11/20(木) 18:12 -

引用なし
パスワード
   ど素人 さん、こんばんわ。

>一つのワークシートに、ブックが150ぐらいあります。
>同じ行の列を集計したいのですが(略)
>ダグ名は追加したり削除したりしますので、毎回変更しないといけないので、
>誰か良い方法を教えて下さい。

串刺し計算ではだめでしょうか?

Sub test()
  '一番左のシートが合計表示シート(それ以外のシートは循環参照になるので除外)
  If ActiveSheet.Index = 1 Then
   With ActiveWorkbook
     ActiveCell.FormulaR1C1 = "=SUM('" + _
                .Worksheets(2).Name & ":" & _
                 .Worksheets(.Worksheets.Count).Name & "'!RC)"
   End With
  End If
End Sub

こんな感じです。

↓手で入力するならこんな感じ。
ttp://www.sharp.co.jp/mebius/excel/excel21b.html

【9221】Re:ワークシートの集計
お礼  ど素人  - 03/11/24(月) 17:19 -

引用なし
パスワード
   ▼りん さん:
>ど素人 さん、こんばんわ。
>
>>一つのワークシートに、ブックが150ぐらいあります。
>>同じ行の列を集計したいのですが(略)
>>ダグ名は追加したり削除したりしますので、毎回変更しないといけないので、
>>誰か良い方法を教えて下さい。
>
>串刺し計算ではだめでしょうか?
>
>Sub test()
>  '一番左のシートが合計表示シート(それ以外のシートは循環参照になるので除外)
>  If ActiveSheet.Index = 1 Then
>   With ActiveWorkbook
>     ActiveCell.FormulaR1C1 = "=SUM('" + _
>                .Worksheets(2).Name & ":" & _
>                 .Worksheets(.Worksheets.Count).Name & "'!RC)"
>   End With
>  End If
>End Sub
>
>こんな感じです。
>
>↓手で入力するならこんな感じ。
>ttp://www.sharp.co.jp/mebius/excel/excel21b.html
ありがとうございました。

【9222】Re:ワークシートの集計
お礼  ど素人  - 03/11/24(月) 17:24 -

引用なし
パスワード
   ▼INA さん:
>>一つのワークシートに、ブックが150ぐらいあります。
>一つのブックに、ワークシートが150 ですね?
>
>
>>ブックのタグには、様々な名前にしてます。
>シート名 ですね?
>
>
>以下のコードは、アクティブシートA1に
>ブック内の他のシートのA1を加算していくサンプルです。
>
>Sub sample()
>Dim myWS As Worksheet
>
>With ActiveSheet
>
>  For Each myWS In Worksheets
>    If .Name <> myWS.Name Then
>      .Range("A1").Value = _
>      .Range("A1").Value + myWS.Range("A1").Value
>    End If
>  Next
>  
>End With
>End Sub

INAさん、ありがとうございました。
>      .Range("A1").Value = _
>      .Range("A1").Value + myWS.Range("A1").Value
を書き換えれば、任意の座標の集計が出来ますよね。
早速、やってみます。
ほんと、悩んでいましたので助かりました。

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