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 を使用しようと思ったのですが、うまくいきませんでした。
マクロを勉強したばかりで、たぶんとんでもないものを作っているのだと思いますが、ご指摘いただければうれしいです。
よろしくお願いします。
補足
今は、動くようになりました。 マクロの自動記録で作った”練習.xlsm”です。 アイコンを見ると!マークがついていますので、エラー持ちの マクロと思われます。 ”すべてのマクロを有効にする”にチェックを入れても動かなかったのは そのためと思われます。 解決してよかったです。