dポイントプレゼントキャンペーン実施中!

いつもお世話になっております。
おしえてくれませんでしょうか

下記のコードは
ワークシートの名前が東京と大阪で
合計と個数を求めたいのですが
東京のシートを選択して実行すると
東京だけ結果がでて
大阪はでませんでした。
まちがったところおしえてくれませんでしょうか


Sub sudmf()
Dim R As Range
Set R = Cells(Rows.Count, 3).End(xlUp)
Dim rr As Range
Set rr = Range("C1").CurrentRegion.Offset(1)


For Each aa In Array("東京", "大阪")
With Worksheets(aa)
R.Offset(3, 3).Value = "合計"
R.Offset(3, 4).Value = WorksheetFunction.Sum(rr.Columns(5))

R.Offset(4, 3).Value = "個数"
R.Offset(4, 4).Value = WorksheetFunction.CountA(rr.Columns(5))
End With
Next

End Sub

「ワークシートごとに計算結果」の質問画像

A 回答 (2件)

こんばんは。



推測ですが、With Worksheets(aa)となっていますが、
R. の前に、"."が抜けているからでは?
.R. にして、どうでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2022/04/30 22:38

※この回答は、“締め切られた質問への回答追加”として、2022/05/01 11:49 に回答者の方よりご依頼をいただき、教えて!gooによって代理投稿されたものです。



------------------------------------------------------------

先の質問コードでは変数:R及びrrはActiveSheetの値を取得します。
即ち複数シートに対して行うなら記載する位置はループ内であると思います。
複数シートそれぞれの最終行が違う場合があると問題になるでしょう。

Sub sudmf_2()
Dim R As Range
Dim rr As Range

For Each aa In Array("東京", "大阪")
With Worksheets(aa)

Set R = .Cells(Rows.Count, 3).End(xlUp)
Set rr = .Range("C1").CurrentRegion.Offset(1)

R.Offset(3, 3).Value = "合計"
R.Offset(3, 4).Value = WorksheetFunction.Sum(rr.Columns(5))

R.Offset(4, 3).Value = "個数"
R.Offset(4, 4).Value = WorksheetFunction.CountA(rr.Columns(5))
End With
Next

End Sub
    • good
    • 0
この回答へのお礼

いつもお世話になっております。
実をいいますと私も
Set R = .Cells(Rows.Count, 3).End(xlUp)
Set rr = .Range("C1").CurrentRegion.Offset(1)
にたどり着きました
ありがとうございました。

お礼日時:2022/05/12 15:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!