• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelVBAについて。)

ExcelVBAについてのデータ抽出方法

このQ&Aのポイント
  • ExcelVBAを使用してデータ抽出する方法について解説します。
  • マクロを使用して、データを特定の条件で抽出する方法を学びます。
  • ExcelVBAを使いこなすことで、効率的なデータ処理が可能となります。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

#1です。 Range("B371").SelectのRange("B371")はシート は、Sheets("オリジナルデータ")のRange("B371")でしょう。 この後、関心がSheets("TR-A").Select に移っている。しかしSheets("オリジナルデータ")のシートのアクチブセルはRange("B371") だと思う。(注)選択セルの保持は、1シート内での、ユニークである。その後何も利用するとか、加工するコードは見られない。 それでRange("B371")の(選択の)理由は計り知れない、と思います。第3者に聞くべきことではない。コードの出典に何か書いてないか、調べること。 マクロの記録の結果は、こういう(もし誤ってした)無駄な操作も記録ーー>VBA化される。 全般に、なぜそんなことを気にするのか、疑問に思う。 もっとVBAで、詮索すべき大事なことがいっぱいあるはず。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

操作を横で見ているつもりで、記すと、 「オリジナルデータ」というシートの、セル範囲"$A$1:$E$1000”を選択して、その範囲を対象にして、B列の値が、文字列の「TR-A」のものを抜き出し表示する。 ーー その抜き出されたデータ範囲をコピーして、別途っ作られた、「TR-A」という名のシート(条件文字列と、わざと同名のシートを作っておいて)に張り付けている。起点は、Sheets("TR-A").シートの、A1セルだ。 最後にSheets("オリジナルデータ")シートに選択を戻している。 ーー 後じまいとして Application.CutCopyMode = False ーー>コピーモードを解除 Selection.AutoFilter ーー>AutoFilterを解除ーー>全行当初の状態に復帰 ==== こんな面倒な逐条解説を読者にさせず、 上記にふさわしい、適当な数のデータを作って、上記の操作をして、マクロの記録でも採って、比べてみれば勉強になるだろう。 余りにも、読者に頼りすぎだと思う。 == 質問のコードは、マクロの記録を採って、それを挙げたようで、Selectがやたらに多い. またSheets("TR-A").Selectの直後にRange("A1").Selectと2段構えに書いているなど、 如何に省くべきか勉強したら。 この癖を、将来、別件処理のVBAで、引き継がないように。

zasx1097
質問者

補足

B371はコピーした後、どのように選べば良いのでしょうか?抽出後に書かれていますよね?教えていただけると嬉しいです。

関連するQ&A

専門家に質問してみよう