- ベストアンサー
excelVBAについて。データ抽出のコードと解説
- Excel VBAを使用してデータを抽出する方法について説明します。
- データ抽出のためのVBAコードの説明と具体的な処理手順を解説します。
- Excelのオリジナルデータから指定の条件に合うデータを抽出するためのマクロです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
以下は全く同じ動作をします。 Range("B371").Select [B371].Select 私は、短いし解りやすいので後者をよく使っています。 好きな方を書けばいいです。 (後者は、一般的でない為、テスト等では減点対象になる可能性があります。)
その他の回答 (2)
- SI299792
- ベストアンサー率47% (772/1616)
Range("B371")がなくても良いのでしょうか? が質問だったので、あっても無くても抽出結果は同じという回答です。 >B371をどうやって選ぶのでしょうか どう考えても選ぶ必要がないと思うのですが、もし必要があるなら、 [B371].Select を入れて置けばいいです。
お礼
Rangeが、[]の表記ミスという事でしょうか?教えていただけると嬉しいです。
補足
Rangeと[B371]と何か違うのでしょうか?教えていただけると嬉しいです。
- SI299792
- ベストアンサー率47% (772/1616)
マクロの記録で作ったものですね。ごみが残っているし、無駄も多い。 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
補足
すみません。選択したものをコピーしたところで、B371をどうやって選ぶのでしょうか?教えていただけると嬉しいです。
補足
いえ、ですから、コピーした後にどうやってB371を選ぶ事ができるのかを知りたいのです。ちなみにB371は、TRーAではないため、隠れているはずなのですが。教えていただけると嬉しいです。