[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『各シートの指定セルにSubtotalの数字を入れたい』(まゆ)
エクセルのマクロのSubtotalにについて(マクロは初心者です) 1つのブックに複数のワークシートがあります。 ワークシートの数はブックによって変わります。 各ブックの構成は左から マクロ用シート/元データのシート/ワークシート1/ワークシート2・・・続く ワークシート1や2の構成は同じですが、行数が変わります。 ここで質問なのですが、ワークシート1、2・・・のセル(例えばA1)に合計金額を入れたいです。 手順としては (1)対象列の対象文字でオートフィルタ (2)オートフィルタしたもので合計金額を出す (3)セルに金額を転記 このような形です。 以下マクロ内容 Dim sh As Worksheet For Each sh In Worksheets If Not sh.AutoFilterMode Then sh.Range("A2").AutoFilter field:=19, Criteria1:="○" Range("A1").Value = WorksheetFunction.Subtotal(9, Range("F:F")) Next オートフィルタはかかっているのですが、合計金額がワークシート1にしか反映されません。 わかりにくい文章で申し訳ありませんが、よろしくお願いします。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
丸文字とインデントが読みずらかったので、勝手ながら少し整形させていただきました。
Sub Sample() Dim sh As Worksheet For Each sh In Worksheets If sh.Index > 1 Then If Not sh.AutoFilterMode Then sh.Range("A2").AutoFilter field:=19, Criteria1:="○" sh.Range("A1").Value = WorksheetFunction.Subtotal(9, sh.Range("F:F")) End If Next End Sub
処理にシート修飾をつけてうまくいかないでしょうか。
(Mook) 2014/07/15(火) 17:23
Mook様 返答ありがとうございます。
申し訳ありません。少し勘違いをして投稿しておりました。
投稿したマクロではオートフィルタがかかりませんでした。
(1)
ワークシート1/ワークシート2・・・
の状態でしたら、書き込んだマクロで全てのワークシートにオートフィルタがかかります。
(2)
マクロ用シート/元データのシート/ワークシート1/ワークシート2・・・
のように、最初の2つのワークシート(構成が違う)がありますとエラーが出てしまいます。
書いていただいたものですと、(1)と同じ結果になってしまいます。
ブックは(2)の形になりますので、左のシートの3番目から最後のシートまで選択し、オートフィルタ、
Subtotalの金額を記入
これを実行できるマクロはありますでしょうか。
(まゆ) 2014/07/15(火) 17:44
If sh.Index > 1 Then を If sh.Index > 2 Then としてもダメでしょうか。 (Mook) 2014/07/15(火) 18:22
無事にできました。
とても助かりました。
ありがとうございます!
(まゆ) 2014/07/16(水) 16:48
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.