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

EXCEL VBAで作成するたスクロールバーについて教えていただきたいことがあります。
Sheets("Bar")にスクロールバーを設置し、
Sheets("List")のA列のデータをSheets("Bar")のRange("A1")に表示
Sheets("List")のB列のデータをSheets("Bar")のRange("B1")に表示
この場合、Sheets("List")にオートフィルタを設定してデータを抽出したとして、
抽出されたデータだけをSheets("Bar")のスクロールバーで表示させることは可能でしょうか。

  A列   B列
1行:東日本  青森
2行:西日本  大阪
3行:東日本  茨城
4行:西日本  山口
5行:東日本  東京
6行:西日本  福岡

オートフィルタを設定し、A列を”東日本で抽出”
1行:東日本  青森
3行:東日本  茨城
5行:東日本  東京

Sheets("Bar")のスクロールバーをスクロールすると
Range("A1")に"東日本","東日本","東日本"
Range("B1")に"青森","茨城","東京"
と表示される。

そもそもそんなことが出来るのかどうかも含めて、
どんな式でやったらいいのかも私のスキルでは全く思い浮かびません。
よろしくお願いいたします。

A 回答 (2件)

どうしてもそのような動作をしなければいけないならやりようが無いわけではないが、たぶん、そんな動作は想定していないので、苦し紛れ(といっても目的の結果が得られるようにコードを書くだけだが)のプログラムになるんじゃないか。


たいていの場合、苦し紛れのことをしなくても、目的の動作・機能を得られるのでめんどくさいことはしない。
    • good
    • 0
この回答へのお礼

わかりました。もう少し検討します。ありがとうございました。

お礼日時:2008/02/19 21:57

・元々スクロールバーでやるような処理ではないですが、やろうと思えばできます。


スクロールバーは大雑把に・視覚的に値を制御するときに用いるものです。そのような処理はListBoxやConboBoxで行うべきものですが、そもそもオートフィルターで制御するという前提があるなら、そのままオートフィルターを使えばよいだけです。難しく考える必要はありません。

・式ではなくVBAでコードを書く必要があります。
・スキルが無いのなら、その様な変則的な処理をいきなり行うのではなく、もっと簡単なところからはじめるべきです。

どういうところが分からないのかも分からないので、具体的にコードを書いた上で再度質問してみてください。
    • good
    • 0

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