- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数シートからの行 抽出改良バージョン)
複数シートからの行抽出改良バージョン
このQ&Aのポイント
- 複数シートからの行抽出を改良するためのコードを作成してもらいたいです。現在のコードでは、各シートの1列目と2列目とX列目が空白でない行を全て抽出していますが、X列目が空白でもそのシートの2列目にデータが入っている最後の行まで調べて抽出するようにしたいです。
- 改良バージョンでは、各シートの1列目と2列目とX列目が空白でない行を全て抽出する必要があります。ただし、X列目が空白でもそのシートの2列目にデータが入っている最後の行まで調べて抽出するようにしたいです。
- 具体的な例として、Xが10列目の場合、橋本、浜崎、根本、末吉、恩田の行が抽出されるようにしたいです。コードの改良をお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こうでしょうか? Option Explicit Sub Sample() Dim shCnter As Long Dim PutRCnt As Long Dim RCnt As Long Dim PicColNum As Long Const PutShNum = 1 '集計先シート番号 Const GetShNumS = 2 '集計元シート群の先頭シート番号 Const GetShNumE = 4 '集計元シート群の末尾シート番号 PicColNum = ThisWorkbook.Sheets(PutShNum).Cells(1, 1).Value With ThisWorkbook PutRCnt = 2 For shCnter = GetShNumS To GetShNumE RCnt = 2 Do If .Sheets(shCnter).Cells(RCnt, 2).Value = "" Then Exit Do If ((.Sheets(shCnter).Cells(RCnt, 1).Value <> "") And _ (.Sheets(shCnter).Cells(RCnt, PicColNum).Value <> "")) Then .Sheets(shCnter).Rows(RCnt).Copy .Sheets(PutShNum).Rows(PutRCnt) PutRCnt = PutRCnt + 1 End If RCnt = RCnt + 1 Loop Next shCnter End With End Sub
お礼
ご回答ありがとうございます! 本当に助かりました。