- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:条件の付いた場合の串刺し集計について教えてください)
条件付きの串刺し集計について知りたい
このQ&Aのポイント
- エクセルでワークシート枚数が適当数あり、各シートのA1には0か1の数値が入っています。各シートのA3からA10までは100以下の数値が入っているとします。一番左側に空のシートを挿入して、A3からA10までを領域選択し、A1の値が1のシートのみ一番左側のシートに串刺し合計したいのですが、うまくいきません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Worksheets(1)をActiveにした Selection はあくまでもWorksheet(1)で選択したセルで、ループ変数の r は その値を合計しています。 つまり Worksheets(1) の Selection(A3:A10?)を順番に合計しているだけで、元々空白なので 0 が返るだけです。 t = t + r.Value を下記のようにするとどうでしょう? If Range("A1").Value = 1 Then t = t + Worksheets(i).Range(r.Address).Value ' t = t + r.Value End If 別案で、こんな書き方もあります。 Sub test1() Dim i As Integer, myAddress As String myAddress = Worksheets(1).Range("A3:A10").Address ' myAddress = Selection.Address '選択範囲にしたいなら For i = 2 To Worksheets.Count If Worksheets(i).Range("A1") = 1 Then Worksheets(i).Range(myAddress).Copy Worksheets(1).Range(myAddress).PasteSpecial _ Paste:=xlPasteValues, operation:=xlAdd Application.CutCopyMode = False End If Next i End Sub
お礼
早速のご回答ありがとうございます。 さすがにプロの技には脱帽します。 別案のほうもすぐには分からないので、これから勉強させていただきます。 ほんとうにありがとうございます。