※ ChatGPTを利用し、要約された質問です(原文:Excel2002のマクロについて教えてください)
Excel2002のマクロでフィルターオプションを自動化する方法とエラーの解決方法
このQ&Aのポイント
Excel2002のマクロを使ってフィルターオプションを自動化する方法について教えてください。
フィルターオプションの自動化には、マクロを使用し、以下のコードを記述します。
しかし、一部の場合でエラーが発生しています。エラーを解決する方法について教えてください。
フィルターオプションの自動化を試みたのですが・・・・
sheet「商品一覧」、sheet「抽出結果」
上記2つのSheetがあったとします。
抽出したい表は「商品一覧」、抽出結果を出したい表は「抽出結果」です。(マクロを実行するコマンドボタンは「商品一覧」に作成します)
フィルターオプションは、結果を出したいシートから、操作を行えば、別シートにも、結果を出すことができるので、マクロの自動登録を使って、以下のようなマクロが作成できました。
----------------------------------
Sheets("抽出結果").Select
Sheets("商品一覧").Range("B5:G24").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("B3:B4"), CopyToRange:=Range("B7:G7"), Unique:=False
------------------------------------
もちろん、きちんと動作はするのですが、「商品一覧」の範囲が(B5:G24)が変動する場合があるので、以下のように変更をしました。
------------------------------------
Dim Gyou As Integer
Gyou = Worksheets("商品一覧").UsedRange.Rows.Count + Worksheets("商品一覧").UsedRange.Row - 1
Sheets("抽出結果").Select
Sheets("商品一覧").Range(Cells(5, 2), Cells(Gyou, 7)).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("B3:B4"), CopyToRange:=Range("B7:G7"), Unique:=False
-----------------------------
しかし、上記の方法では、エラーが出てしまいます。
最初は、CurrentRegion を使用しようと思ったのですが、うまくいきませんでした。
マクロを勉強したばかりで、たぶんとんでもないものを作っているのだと思いますが、ご指摘いただければうれしいです。
よろしくお願いします。
お礼
ありがとうございます。何度かmaruru01さんにはお世話になっています。 大変わかりやすく、しっかり理解ができました。 また、質問をしたときには、よろしくお願いします。