プロが教える店舗&オフィスのセキュリティ対策術

Sub データ抽出()
'
' データ抽出 Macro
'
'
Sheets("オリジナルデータ").Select
Range("A1").Select Selection.AutoFilter
ActiveSheet.Range("$A$1:$E$1000").AutoFilter Field:=2, Criteria1:="TR-A"
Columns("A:E").Select
Selection.Copy
Range("B371").Select
Sheets("TR-A").Select
Range("A1").Select
ActiveSheet.Paste
Sheets("オリジナルデータ").Select
Application.CutCopyMode = False
Selection.AutoFilter
Sheets("オリジナルデータ").Select
End Sub
コピーした後にTRーAを抽出した後に、どうやってB371を選択するのでしょうか?それと、こちらで、確認した所、チャプター5のデータのデータ抽出のボタンを押した所、最後に、オリジナルデータのB371がアクティブセルになったのですがどういう事でしょうか?教えていただけると嬉しいです。すみません。教えていただけると嬉しいです。もし、マクロの記録で作った場合です。
以下のURLをダウンロードしていただけないでしょうか?この章のチャプター5です。
https://www.shuwasystem.co.jp/support/7980html/2 …

A 回答 (8件)

>まあ、作者の好きな数が、371だったということで納得しても良いのでしょうか?



本当のところは、作者に問い合わせないとわかりません。
その為、問い合わせをしないなら、何かの理由をつけて自分自身を納得させるしかありません。
私にとって、最も納得し易い理由は、「なにかの間違いでRange("B371").Selectを書いてしまった」ということです。

あなたにとって最も納得し易い理由が「作者の好きな数が、371だった」
ということであれば、それで良いと思います。
    • good
    • 0

>まあ、作者の好きな数が、371だったということで



もう、そこのセルは371(見ない)ようにしましょう。
    • good
    • 0

試しに、


Range("B371").Select
の行を削除して、マクロを実行すると、
TR-Aのシートに出力される結果は、削除しない場合と全く変わりません。
従って、Range("B371").Selectの有無は、出力結果には影響しません。

但し、マクロ実行後にオリジナルデータのA:Eの範囲が選択状態になります。
(Range("B371").Selectがあると選択状態にはなりません)

上記が、Range("B371").Selectの有無による違いですが、
もし、私が、この選択状態のままになるのを回避したいなら、
Range("B371").Selectを削除し
マクロの最後に
Range("A1").Selectを追加します。

従って、Range("B371").Selectの行があることについて、
理解できないということが私の結論です。
(たぶん作者の過ちではないかと推測しますので、どうしても気になるのであれば、作者に問い合わせるのが良いかと思います)
    • good
    • 0
この回答へのお礼

まあ、作者の好きな数が、371だったということで納得しても良いのでしょうか?無茶苦茶な理由ですが。(B371についての371についてです。)教えていただけると嬉しいです。

お礼日時:2022/12/13 15:24

>オリジナルデータのB371がアクティブセルになったのですがどういう事でしょうか?


マクロの記録で作ったかどうかに関係なく、
Range("B371").Select  このコードが実行されたのだから
当然のことながらアクティブになります。
F8実行して、フィルターを解除してみればわかります。
    • good
    • 0
この回答へのお礼

まあ、作者の好きな数が、371だったということで納得しても良いのでしょうか?無茶苦茶な理由ですが。(B371についての371についてです。)教えていただけると嬉しいです。

お礼日時:2022/12/13 15:26

>A,Bとは、TRーA、TRーBです。

で、TRーA以外は隠れるので、その隠れているものの中で、次に早いTRーBを選ぶという事ではないかという事です。

①もしそうであれば、B6を選択するかと思うのですが、何故B371なのでしょうか。
②又、「次に早いTRーBを選ぶ」ことにより、どのような結果になることを期待されるのでしょうか。
上記の①②について私はわかりません。
    • good
    • 0

>Aの次に早いBを選んだのでは。


A、Bとは、TR-A,TR-Bの意味ですか?
それともA列、B列の意味ですか?
いずれにしても、何故、Aの次に早いのがBなのか、よくわかりませんので、
これについては、返答できません。

>要するに、隠れているセルを選択したかったという事だと解釈しました。
Range("B371").Selectを実行すると
結果的に、そうなると思います。
    • good
    • 0
この回答へのお礼

A,Bとは、TRーA、TRーBです。で、TRーA以外は隠れるので、その隠れているものの中で、次に早いTRーBを選ぶという事ではないかという事です。つまり、隠れているもののセルの中で、TRーA以外で次に早いTRーBを単に選んでみたかったという事だと思ったのですが。教えていただけると嬉しいです。

お礼日時:2022/12/13 03:39

>隠れたB371をRangeによって選択し、


>Aの次に早いBを選んだという解釈であっているのでしょうか?

意味がよくわかりません。
”Aの次に早いBを選んだ”とは、どのようなことでしょうか。
    • good
    • 0
この回答へのお礼

つまり、隠れているセルの中で、Aの次に早いBを選んだのでは。要するに、隠れているセルを選択したかったという事だと解釈しました。教えていただけると嬉しいです。

お礼日時:2022/12/12 18:42

>コピーした後にTRーAを抽出した後に、どうやってB371を選択するのでしょうか?



こちらで、マクロの記録でやってみましたが、B371を選択することはできませんでした。マクロの記録でB371を選択することは不可能です。
Range("B371").Select はマクロの記録でマクロを作成したあと、VBEで追記したように見えます。(なぜ追記したのか理由は不明ですが)


>最後に、オリジナルデータのB371がアクティブセルになったのですがどういう事でしょうか?

Range("B371").Selectの行が実行されたためです。
これでオリジナルデータのB371がアクティブセルになります。
    • good
    • 0
この回答へのお礼

隠れたB371をRangeによって選択し、Aの次に早いBを選んだという解釈であっているのでしょうか?教えていただけると嬉しいです。

お礼日時:2022/12/12 16:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!