コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーして集計シートへ縦に並べて貼り付けしたく、下記コードを書きましたが、実行結果は図のように100003の1行目しか貼り付けられません?
イメージは図の赤枠へも貼付けができるようにしたいのですが、どのような修正を加えたらよいか教えていただけませんでしょうか。よろしくお願いいたします。
Sub 条件に合うデータを別シートへ()
Dim Matome_Sht As Worksheet
Dim Ws As Worksheet
Dim i As Long
Dim j As Long
'転記先のシートを変数格納
Set Matome_Sht = Sheets("集計")
'「まとめ」シート 1~最終行までループ
For i = 1 To Matome_Sht.Cells(Rows.Count, 1).End(xlUp).Row
'全シートをループ
For Each Ws In Worksheets
'「まとめ」シートのA列とシート名が一致したら
If Matome_Sht.Cells(i, 1) = Ws.Name Then
'シートの1~最終行までループ
For j = 1 To Ws.Cells(Rows.Count, 1).End(xlUp).Row
'シート名とA列が一致していたら「まとめ」シートに転記
If Ws.Name = Ws.Cells(j, 1) Then
Ws.Select
Ws.Range(Cells(j, 2), Cells(j, 12)).Copy Matome_Sht.Cells(i, 2)
End If
Next j
End If
Next Ws
Next i
End Sub
No.1ベストアンサー
- 回答日時:
こんばんは
なにをなさりたいのかよくわかりませんけれど・・・
>100003の1行目しか貼り付けられません?
理由はご提示のコードがそのようになっているから。
>If Ws.Name = Ws.Cells(j, 1) Then
>Ws.Range(Cells(j, 2), Cells(j, 12)).Copy Matome_Sht.Cells(i, 2)
『A列が一致した1行をコピーする』処理を繰り返していますが、想像するところA列が一致しているのはシート内に1行しかないのではないでしょうか?
コピーしたい行のA列に、同じ値を入れておけば、その行もコピーされるようになります。
ただし、コピー先の行( =i )が固定なので、同じ行に上書きされてペーストされます。
(なので、最後にペーストした内容が有効になります)
ペースト先も移動したければ、ペースト先の行を制御するか、あるいは、複数行のセル範囲(Range)をまとめてコピペすることで複数行を一括してコピーすることも可能です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) 集計シートA列のコードと一致する右に並んだシート名(コード)の3行目から10行目をコピーして貼り付け 4 2022/08/18 15:24
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
- Excel(エクセル) vba 転記するときの最終行について 2 2022/09/03 09:31
- Visual Basic(VBA) 形式を選択して貼り付け 以下のコードで「元」シートと「先」シートのA列に同じ値があったら指定範囲をコ 5 2022/11/11 07:30
- Visual Basic(VBA) 抽出結果を別シートに貼り付ける 2 2022/07/09 22:59
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 複数シート一括作成後に、特定範囲の数式は値で貼り付けしたい 3 2022/10/07 11:18
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のシートから値を取得するとき
-
Excelマクロのエラーを解決した...
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
ExcelのVBAのマクロで他のシー...
-
【Excel VBA】Worksheets().Act...
-
実行時エラー1004「Select メソ...
-
同じ作業を複数のシートに実行...
-
実行時エラー'1004': WorkSheet...
-
excelのマクロで該当処理できな...
-
特定の文字を含むシートだけマ...
-
シートが保護されている状態で...
-
エクセルのシート名変更で重複...
-
XL:BeforeDoubleClickが動かない
-
VBAでオブジェクト変数にsetし...
-
VBA 最終行まで数式をコピーする
-
エクセルVBA Ifでシート名が合...
-
VBA 検索して一致したセル...
-
ブック名、シート名を他のモジ...
-
Excel マクロについての相談
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
同じ作業を複数のシートに実行...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
XL:BeforeDoubleClickが動かない
-
ExcelVBA シート名を複数セルか...
-
実行時エラー'1004': WorkSheet...
-
VBA 存在しないシートを選...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ブック名、シート名を他のモジ...
-
【Excel VBA】Worksheets().Act...
-
ExcelのVBAのマクロで他のシー...
-
エクセルのシート名変更で重複...
-
特定の文字を含むシートだけマ...
-
シートが保護されている状態で...
-
Excel マクロについての相談
-
VBA 検索して一致したセル...
おすすめ情報
イメージの図です。よろしくお願いします。
ご回答いただいた[複数行のセル範囲(Range)をまとめてコピペすることで複数行を一括してコピーする方法]が知りたいです。よろしくお願いします。
Ws.Range(Cells(j.2).Cells(8.12).Copyで動きました。
しかし複数シートのA列が非表示になっており、実際にはB列でした?B列と集計シートA列が一致したらコピーに変更するには?ご教授頂けると助かります。