[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『オートフィルターで選択されたセルの指定方法』(トッピ)
オートフィルターをかけて選択された最上行の特定セル値を別のセルにコピー する方法を、マクロで組みたいと考えています。
(例)下記で、4行目以降のデータに対して、仕入先の▼でbbを選択して、 マクロを起動したらセルB1にbbと表示させたい。
どなたか、初心者にわかり易く教えていただきたく、よろしくお願いいたします。
A B C 1 仕入先 _____ 2 3 4 商品名▼ 仕入先▼ 価格▼ 5 AAA aa 100 6 BBB aa 200 7 AAA bb 50 ・ ・
オートフィルターの実行では、 マクロのイベントが発生しないので厳しいかと思います。
なお、オートフィルタの抽出に使用したキーワードであれば、 Filerオブジェクトのプロパティで取得可能です。
逆に、Changeイベントで B1 の値が変化したら マクロによりオートフィルターを掛けるとかなら実現できませんか?
>初心者 初心者といっても幅がありますし、何が初心者なのかも分かりませんので、 回答者の立場としては、書いてあってもあまり意味がないように思ってます。
(INA)
が、おっしゃてる内容が理解できるレベルにありません。(^_^;) >Filerオブジェクトの・・・? >Changeイベント・・・・・?
(理解度はマクロの自動登録と簡単なデバックができる程度です)
ただ、逆提案いただきました、B1の値を変化させてマクロでオートフィルターを 掛けることができるのなら、それでも結構ですので、お手数ですが"具体的に"ご教示 頂ければありがたいです。なお、データはこれもマクロで別シートからのコピーで 貼り付けられたもので、オートフィルターの設定まで行っています。(トッピ)
どうぞ。
標準モジュールではなく、sheetモジュールに記載してください。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> Range("B1").Address Then Exit Sub
If Target.Value = "" Then ActiveSheet.AutoFilterMode = False Exit Sub End If
Range("A4").CurrentRegion.AutoFilter Field:=2, Criteria1:=Range("B1").Value
End Sub
(INA)
INAさん ありがとうございました。期待どうりに動作してくれました。 教えていただいた内容を解読してさらに勉強させていただきます。 ところで、追加質問で申訳ありませんが、標準モジュールとSheetのモジュールで 貼り付けるとではどのように異なるのでしょうか? (トッピ)
sheetモジュール、thisworkbookモジュールでは、 イベントによりマクロを実行することが出来ます。
「イベント一覧」 http://www.geocities.jp/vbaxl/event/000.html
(INA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.