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

excelVBAについて。データ抽出のコードと解説

このQ&Aのポイント
  • Excel VBAを使用してデータを抽出する方法について説明します。
  • データ抽出のためのVBAコードの説明と具体的な処理手順を解説します。
  • Excelのオリジナルデータから指定の条件に合うデータを抽出するためのマクロです。

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

  • ベストアンサー
  • SI299792
  • ベストアンサー率47% (772/1616)
回答No.3

以下は全く同じ動作をします。   Range("B371").Select   [B371].Select 私は、短いし解りやすいので後者をよく使っています。 好きな方を書けばいいです。 (後者は、一般的でない為、テスト等では減点対象になる可能性があります。)

zasx1097
質問者

補足

いえ、ですから、コピーした後にどうやってB371を選ぶ事ができるのかを知りたいのです。ちなみにB371は、TRーAではないため、隠れているはずなのですが。教えていただけると嬉しいです。

その他の回答 (2)

  • SI299792
  • ベストアンサー率47% (772/1616)
回答No.2

Range("B371")がなくても良いのでしょうか? が質問だったので、あっても無くても抽出結果は同じという回答です。 >B371をどうやって選ぶのでしょうか どう考えても選ぶ必要がないと思うのですが、もし必要があるなら、   [B371].Select を入れて置けばいいです。

zasx1097
質問者

お礼

Rangeが、[]の表記ミスという事でしょうか?教えていただけると嬉しいです。

zasx1097
質問者

補足

Rangeと[B371]と何か違うのでしょうか?教えていただけると嬉しいです。

  • SI299792
  • ベストアンサー率47% (772/1616)
回答No.1

マクロの記録で作ったものですね。ごみが残っているし、無駄も多い。 Sub データ抽出() Sheets("オリジナルデータ").Select ' シート選択 Range("A1").Select Selection.AutoFilter ' マクロ記録のごみ ActiveSheet.Range("$A$1:$E$1000").AutoFilter Field:=2, Criteria1:="TR-A" ' オートフィルターでB列が"TR-A"を取り出す。 Columns("A:E").Select ' A~E列を選択 Selection.Copy ' 選択したものをコピー Range("B371").Select ' マクロ記録のごみ Sheets("TR-A").Select ' シートの選択 Range("A1").Select ' A1を選択 ActiveSheet.Paste ' 磔 Sheets("オリジナルデータ").Select ' シート選択 Application.CutCopyMode = False ' コピー解除 Selection.AutoFilter ' シートの選択 Sheets("オリジナルデータ").Select ' マクロ記録のごみ End Sub 手作業で無駄を省けば、これだけになります。 ' Sub Macro1() ' Sheets("オリジナルデータ").Select ActiveSheet.AutoFilterMode = False [A:E].AutoFilter 2, "TR-A" [A1:E21].Copy ['TR-A'!A1] ActiveSheet.AutoFilterMode = False End Sub

zasx1097
質問者

補足

すみません。選択したものをコピーしたところで、B371をどうやって選ぶのでしょうか?教えていただけると嬉しいです。

関連するQ&A