A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
補足要求です。
1.1行目は見出し行でしょうか。(データは2行目から)
それともデータがいきなり始まっているのでしょうか。
2.メインのシート(結果を出力するシート)は、左から1番目もしくは、2番目に必ずあると
いう前提で良いですか。
3.シート3のみA列に11111が5行あり、
他のシートのA列には、11111がなかった場合、メインのシートに11111のとりまとめを行うのでしょうか。
もし、行う場合は、5行転記すればよいのでしょうか。
No.1
- 回答日時:
参考にしてください。
Sub 同じ値をまとめるマクロ()
Dim ws As Worksheet
Dim wsMain As Worksheet
Dim lastRow As Long
Dim targetValue As Variant
Dim i As Long, j As Long, k As Long
' メインのシート(結果を出力するシート)を設定
Set wsMain = ThisWorkbook.Sheets("メインシートの名前") ' メインシートの名前を設定してください
' メインのシートを初期化
wsMain.Cells.Clear
' 対象のシートからデータをコピー
For Each ws In ThisWorkbook.Sheets
If ws.Index >= 3 Then ' 左から3番目以降のシートを対象に
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
For i = 2 To lastRow
targetValue = ws.Cells(i, 1).Value
If Not IsEmpty(targetValue) Then
' メインのシートで同じ値を探す
For j = 2 To wsMain.Cells(wsMain.Rows.Count, "A").End(xlUp).Row
If wsMain.Cells(j, 1).Value = targetValue Then
' 同じ値が見つかったらデータをコピー
For k = 1 To 84 ' 列数に合わせて調整(CE列までの列数)
wsMain.Cells(j, k).Offset(0, 1).Value = ws.Cells(i, k).Value
Next k
Exit For
End If
Next j
' 同じ値が見つからなかった場合は新しい行を追加
If j > wsMain.Cells(wsMain.Rows.Count, "A").End(xlUp).Row Then
wsMain.Cells(j, 1).Value = targetValue
For k = 1 To 84 ' 列数に合わせて調整(CE列までの列数)
wsMain.Cells(j, k).Offset(0, 1).Value = ws.Cells(i, k).Value
Next k
End If
End If
Next i
End If
Next ws
End Sub
この回答へのお礼
お礼日時:2023/09/12 15:21
早速ありがとうございます。
誠に申し訳ないのですが、投稿した後に、色々と考えてみたら
質問内容だけでは不足でした。
これはこれで、一度、閉めさせていただきます。
後程、改めて、質問させていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロを修正できないものか、統合シートについて 3 2021/12/07 09:26
- Visual Basic(VBA) 【Excel VBA】全シートのデータを1シートに集約するには? 2 2021/11/15 18:13
- Visual Basic(VBA) 【関数orVBA】カーソルのある行を黄色にし、A列の値を別シートに表示できますか? 4 2021/12/28 00:03
- Visual Basic(VBA) 【Excel VBA】シートの中から特定の文字列のセル位置を取得するには? 6 2021/11/03 23:11
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Excel(エクセル) 【Excel関数】値が合致するセルの隣のセルを表示させたい 8 2022/10/12 17:44
- Excel(エクセル) エクセル作業の効率化マクロを教えて下さい 7 2022/02/06 00:47
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) IF文の管理を簡単にしたい 4 2021/11/07 11:23
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字の色も参照 VLOOKUP
-
ExcelのVlookup関数の制限について
-
エクセルの保護で、列の表示や...
-
エクセルで、チェックボックス...
-
SUMPRODUCTにて別シートのデー...
-
エクセルで重複するセル合計を...
-
*EXCEL*2シートにあるデータを...
-
入力値からのプルダウンリスト作成
-
VLOOKアップ関数の結果の...
-
Excel VBA ピボットテーブルに...
-
エクセル:別シートの複数ある...
-
SUMIF関数で4万件以上だと計算...
-
商品在庫の集計の方法で困って...
-
エクセル・データをランダムに...
-
【エクセル関数】特定の文字列...
-
【条件付き書式】countifsで複...
-
複数シートのデータを別シート...
-
Excel初心者 入力した順番通り...
-
Excel複数シートにあるデータを...
-
可変ブロックごとにコピー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
文字の色も参照 VLOOKUP
-
オートフィルタ使用時にCOUNTIF...
-
エクセルの保護で、列の表示や...
-
VBAで繰り返しコピーしながら下...
-
エクセル関数に詳しい方、教え...
-
【条件付き書式】countifsで複...
-
Excel の複数シートの列幅を同...
-
エクセル マクロ 標準モジュー...
-
エクセルで横並びの複数データ...
-
エクセルの列の限界は255列以上...
-
Excelでの並べ替えを全シートま...
-
VLOOKアップ関数の結果の...
-
SUMPRODUCTにて別シートのデー...
-
エクセルで、チェックボックス...
-
Excel VBA ピボットテーブルに...
-
【エクセル】1列のデータを交...
-
エクセルVBAで、ある文字を含ん...
-
エクセルのブック分割マクロを...
-
【VBA】複数のシートの指定した...
おすすめ情報
閉める前に、修正が出来たら教えてください。
未だ、試用していないので、何とも言えないのですが、
例:
シート3のA列に111111が5行 C列に222222 ,333333,444444,555555,666666,
シート5のA列に111111が5行 AA列に AAAAAA,BBBBBB,CCCCCC,DDDDDD,EEEEEE
メインのシート(結果を出力するシート)には
A列 111111 C列 222222 AA列 AAAAAA
A列 111111 C列 333333 AA列 BBBBBB
A列 111111 C列 444444 AA列 CCCCCC
A列 111111 C列 555555 AA列 DDDDDD
A列 111111 C列 666666 AA列 EEEEEE
5行転記される。