エクセルで複数sheetの同一セルを集計sheetへコピーしてきて一覧にし、集計するという作業を行なっています。
1~20のsheet(sheet数sheet名は変動します)を作り、一番右側に集計sheetがあります。
集計sheetのA5へsheet1のF10、A6へsheet2のF10・・・(内容は文字列)
集計sheetのB5へsheet1のG10、B6へsheet2のG10・・・(内容は数値)
とコピーしていき、B30にはB5~B29の合計がSUM関数で入っています。
VBAで、集計sheetから左側のsheetの指定セルを一気に集計sheetへコピーしてくる方法はないでしょうか。
ただし集計sheetから左側のsheet21とsheet22は集計に入れたくないという式も教えて頂きたいです。
お時間のある方、ご教授下さい。
または別の質問で参考になるようなものがあればアドレスを教えて下さい。
説明が下手で申し訳ないですが、どうぞよろしくお願いします。
No.2ベストアンサー
- 回答日時:
先の解答ちょんぼでした。
whileじゃだめですねループします。if then end if に変えてください。
Sub main()
Dim i As Integer
Dim target_sheet As Worksheet
Dim summary_sheet As Worksheet
Set summary_sheet = ThisWorkbook.Worksheets("集計シート")
i = 5
For Each target_sheet In ThisWorkbook.Worksheets
if target_sheet.Name <> "集計シート" And _
target_sheet.Name <> "sheet21" And _
target_sheet.Name <> "sheet22" then
summary_sheet.Range("A" & CStr(i)).Value = target_sheet.Range("F10").Value
summary_sheet.Range("B" & CStr(i)).Value = target_sheet.Range("G10").Value
i = i + 1
end if
Next target_sheet
End Sub
yyr446様
無事に1回で成功することが出来ました!
ご丁寧に訂正分のアドバイスも頂き、感謝しております。
これで毎月の作業が随分と楽になります。
どうも有難うございました。
No.3
- 回答日時:
条件は質問の通り
右端のシートが集計sheet
右から2、3番目がsheet21、22
こちらの条件は一つ
集計sheetのセルA4を空白にしない
文字でも数値でもスペースでも良いので入れといてください
Sub test()
Dim i As Integer
For i = 1 To Worksheets.Count - 3
If Worksheets(Worksheets.Count).Range("a5").Value = "" Then
Worksheets(Worksheets.Count).Range("a5:b5").Value = Worksheets(i).Range("f5:g5").Value
Else
Worksheets(Worksheets.Count).Range("a4").End(xlDown).Offset(1).Resize(1, 2).Value = Worksheets(i).Range("f5:g5").Value
End If
Next i
End Sub
こんなもんで、参考になれば
hige_082様
何度か挑戦してみましたが、どうしてもデータが1件しかコピーされてこなかったのです。私の知識不足により大変申し訳ないです。
もっと勉強し、今後ご回答頂いたものを使いこなせるように頑張ります。
貴重なお時間を頂き、大変有難うございました。
No.1
- 回答日時:
「sheet数sheet名は変動する」という事はシートを削除したり追加したりするわけですね。
そのような場合、左端のシートとか、左から何番目といったようなハンドリングは、面倒です。左から何番目のシートかをあきらめて、集計シートと集計対象外にしたいsheet21とsheet22の名前を固定にしておけばずっと楽になります。これだけです。
Sub main()
Dim i As Integer
Dim target_sheet As Worksheet
Dim summary_sheet As Worksheet
Set summary_sheet = ThisWorkbook.Worksheets("集計シート")
i = 5
For Each target_sheet In ThisWorkbook.Worksheets
While target_sheet.Name <> "集計シート" And _
target_sheet.Name <> "sheet21" And _
target_sheet.Name <> "sheet22"
summary_sheet.Range("A" & CStr(i)).Value = target_sheet.Range("F10").Value
summary_sheet.Range("B" & CStr(i)).Value = target_sheet.Range("G10").Value
i = i + 1
Wend
Next target_sheet
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
エクセルVBA 串刺し計算の際、シートをインデックスで指定できますか。
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
【VBA】元のシート内の文字列を別シートと比較し、一致したら元のシートの別のセルへ転記する方法。
Excel(エクセル)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELのSheet番号って変更でき...
-
マクロの「SaveAs」でエラーが...
-
マクロ実行後に別シートの残像...
-
FindNextがうまくいかない
-
Excel VBA オートフィルターで...
-
VBA 実行時エラー1004 rangeメ...
-
グラフマクロで系列を変数にす...
-
Excel VBAで、散布図のデータ範...
-
複数シートの複数列に入力され...
-
VBA 空白行に転記する
-
100万件越えCSVから条件を満た...
-
Unionでの他のシートの参照につ...
-
VBAのソースコードを教えて下さ...
-
ExcelのVBマクロを、バックグラ...
-
VBA webクエリをループさせる...
-
VBA 別ブックからの転記の高速...
-
Changeイベントで複数セルへの...
-
Excel2013で切り取り禁止
-
VBAマクロ実行時エラーの修正に...
-
B列の最終行までA列をオート...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
EXCELのSheet番号って変更でき...
-
VBA 空白行に転記する
-
マクロ実行後に別シートの残像...
-
VBAで変数の数/変数名を動的に...
-
VBA別シートの最終行の次行へ転...
-
Changeイベントで複数セルへの...
-
アクセスからエクセルへ出力時...
-
VBA 別ブックからの転記の高速...
-
Count Ifのセルの範囲指定に変...
-
【VBA】特定の条件でセルをコピー
-
VBA 実行時エラー1004 rangeメ...
-
ExcelのVBマクロを、バックグラ...
-
100万件越えCSVから条件を満た...
-
複数シートの複数列に入力され...
-
楽天RSSからエクセルVBAを使用...
-
Excel2013で切り取り禁止
-
Excel VBA オートフィルターで...
-
Unionでの他のシートの参照につ...
-
VBAを使って複数のシートから抽...
おすすめ情報