• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数シートからの行 抽出改良バージョン)

複数シートからの行抽出改良バージョン

このQ&Aのポイント
  • 複数シートからの行抽出を改良するためのコードを作成してもらいたいです。現在のコードでは、各シートの1列目と2列目とX列目が空白でない行を全て抽出していますが、X列目が空白でもそのシートの2列目にデータが入っている最後の行まで調べて抽出するようにしたいです。
  • 改良バージョンでは、各シートの1列目と2列目とX列目が空白でない行を全て抽出する必要があります。ただし、X列目が空白でもそのシートの2列目にデータが入っている最後の行まで調べて抽出するようにしたいです。
  • 具体的な例として、Xが10列目の場合、橋本、浜崎、根本、末吉、恩田の行が抽出されるようにしたいです。コードの改良をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.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

rty145
質問者

お礼

ご回答ありがとうございます! 本当に助かりました。

関連するQ&A