こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel VBAで作成するスクロールバーの応用について

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")に"青森","茨城","東京"
と表示される。

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

投稿日時 - 2008-02-18 22:15:09

QNo.3788527

困ってます

質問者が選んだベストアンサー

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

投稿日時 - 2008-02-18 23:58:43

お礼

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

投稿日時 - 2008-02-19 21:57:18

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

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

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

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

投稿日時 - 2008-02-19 01:16:51

あなたにオススメの質問