[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロ 複数シートを一つにまとめる』(業務改善中)
こんばんは。
複数シートのデータを一つのシートにまとめたいと思い、こちらの過去の掲示板よりコードを活用させて頂きました。
各シートの5行目からまとめるには、どのように変更をしたら良いか教えて頂きたいです。
何卒、宜しくお願い致します。
Sub 全データ集計()
Dim WsShuukei As Worksheet Dim Shuukei_cell As Range Dim w As Worksheet Dim Last_row Set WsShuukei = Worksheets("全データ") For Each w In Worksheets If w.Name <> "全データ" Then Set Shuukei_cell = WsShuukei.Cells.Find("*", WsShuukei.Range("A1"), xlValues, , xlByRows, xlPrevious) If Shuukei_cell Is Nothing Then Set Shuukei_cell = WsShuukei.Range("A1") End If Last_row = w.Cells.Find("*", w.Range("A1"), xlValues, , xlByRows, xlPrevious).Row Intersect(w.Columns("A:O"), w.Rows("1:" & Last_row)).Copy Shuukei_cell.EntireRow.Cells(2, 1) End If Next
End Sub
< 使用 Excel:unknown、使用 OS:Windows11 >
常識的にはこんなもんでしょう。 旨く行かない場合は、データがどうなっているのか、それを説明してください。
Sub 全データ集計() Dim WsShuukei As Worksheet Dim w As Worksheet Dim Last_row
Set WsShuukei = Worksheets("全データ")
For Each w In Worksheets If w.Name <> "全データ" Then With w Last_row = .Cells(.Rows.Count, "A").End(xlUp).Row If Last_row >= 5 Then w.UsedRange.Offset(4).Copy WsShuukei.Cells(.Rows.Count, "A").End(xlUp).Offset(1) End If End With End If Next w End Sub
(半平太) 2023/12/12(火) 20:29:09
ご返信頂きありがとうございます。
実行してみたところ、A列の最終セルが空白の所が集計されませんでした。
もしA列以外の列に情報が入力されているのであれば、集計して頂くことは可能でしょうか?
もしくはA列ではなくE列の最終セルで集計でも良いです。上記コードをA⇒Eへ変更したのですが、上手くいきませんでした。
お手数ですが、宜しくお願い致します。
(業務改善中) 2023/12/13(水) 09:18:48
>E列の最終セルで集計でも良いです。
E列を見に行けばいいと言うことなら、
Sub 全データ集計() Dim WsShuukei As Worksheet Dim w As Worksheet Dim SrcLast_row As Long, Target_row As Long
Set WsShuukei = Worksheets("全データ") WsShuukei.UsedRange.ClearContents
For Each w In Worksheets
If w.Name <> "全データ" Then SrcLast_row = w.Cells(w.Rows.Count, "E").End(xlUp).Row
If SrcLast_row >= 5 Then With WsShuukei.Cells(w.Rows.Count, "E").End(xlUp) Target_row = IIf(.Value = "", 0, 1) + .Row End With
w.Rows(5).Resize(SrcLast_row - 4).Copy WsShuukei.Cells(Target_row, "A") End If End If Next w End Sub
(半平太) 2023/12/13(水) 09:57:55
ありがとうございます!!
重い通りの結果となりました。
もう一つご要望があるのですが、集計する「全データ」の右のシート(各メーカー)を集計するというのは可能でしょうか?
シートの並びが左から「記入例、全データ、各メーカー・・・」となっており、一番左端の記入例は集計して欲しくないです。
何卒、宜しくお願い致します。
(業務改善中) 2023/12/13(水) 10:41:07
Sub 全データ集計()'全データ集計シートより右だけ Dim WsShuukei As Worksheet Dim w As Worksheet Dim SrcLast_row As Long, Target_row As Long Dim Idx As Long
Set WsShuukei = Worksheets("全データ") WsShuukei.UsedRange.ClearContents
For Idx = WsShuukei.Index + 1 To Worksheets.Count Set w = Worksheets(Idx) SrcLast_row = w.Cells(w.Rows.Count, "E").End(xlUp).Row
If SrcLast_row >= 5 Then With WsShuukei.Cells(w.Rows.Count, "E").End(xlUp) Target_row = IIf(.Value = "", 0, 1) + .Row End With
w.Rows(5).Resize(SrcLast_row - 4).Copy WsShuukei.Cells(Target_row, "A") End If Next Idx End Sub
(半平太) 2023/12/13(水) 15:15:31
おはようございます。
ご返信ありがとうございます。
バッチリです!
何かとご要望にお応え頂きましてありがとうございます。
とても助かります。
(YYY) 2023/12/14(木) 08:57:52
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.