• ベストアンサー

[Excel] セルをクリックしたとたんにリスト

こんにちは。 Excelでちょっとした表を作っています。 入力は、基本的に”リスト”を使うのですが、「セルクリック→隣の▼を押す→リストが表示される…」はとても面倒なので、「セルクリック→リストが表示される…」としたいのですが、できるのでしょうか? できれば、やりたいのですが…。 ご存じの方、よろしくお願いいたします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

>このようなスキルどのように身につけていらっしゃったんでしょうか 今回のご質問に関して言えば,回答したマクロを「知っていた」とか「どこかに書いてあったのを見た」ワケではありません。 マクロ以前にまずエクセルの機能として ・ALT+↓を押すとプルダウンが開く という知識を持っていたので,それをマクロにするとどうなるかなと考えて回答した内容です。 その意味では,回答できたのは「コタエのマクロを知っていた」からじゃなくて,「エクセルの操作方法」を知っていたからという事です。 言葉を飾らず言うと多くの方が「エクセルのことを知らなくてもマクロを使えばエクセルが高度に使えるようになる」と勘違いなさっていますが,基礎が必要なのはいつどこでも一緒という事ですね。 もう一つ,「(ALT+↓など)キーを押す操作をマクロにやらせることができる」という知識も,利用しています。 それには application.sendkeys と sendkeys の2種類の方法があるという知識も利用しています。 こちらは純然なマクロの知識,経験によって知識として蓄えていたモノですが,どちらを利用すればご相談のことを実現できるかは,実際にマクロを書いて確認しました。 その途中で間違って編集したものを回答してしまい、ご迷惑をお掛けしました。 もう一点挙げるとすれば,「(どこかの)セルをクリックすると(マクロが)自動で作動して欲しい」については,こちらのような質問相談掲示板のエクセルのご相談で非常に多く寄せられるご質問の一種です。 これについては,「エクセルには『セルをクリックすると作動する』マクロは『ありません』」が一般的な回答になります。 このタイプのご質問に対しては,そのほとんどが「エクセルにはセルのクリックでマクロを起動する仕組みが無いので,代わりにセルをWクリックすることで動作させてみます」のような枕詞を付けて,回答が寄せられます。 ただし今回のご相談のように,そういう制約の中でも(万全ではありませんが)ある程度の工夫の余地がある場合もあります。 この点については,単にエクセルのご質問に多く回答している経験によるモノです。

sukeken
質問者

お礼

keithin さん、こんにちは。 >今回のご質問に関して言えば,回答したマクロを「知っていた」とか「どこかに書いてあったのを見た」ワケではありません。 はい。それは、雰囲気でわかりました。 >マクロ以前にまずエクセルの機能として >・ALT+↓を押すとプルダウンが開く >という知識を持っていたので,それをマクロにするとどうなるかなと考えて回答した内容です。 ここですよね。 セルがクリックされたときにリストが表示される…全然光が見えてきませんでしたから。 だからこそ早急に区切りを付け、ご存じの方にご教授願おうとここに書き込みました。 問題点を客観的に捕らえることが出れば、また違う結果が得られるとを改めて実感させていただきました。 >言葉を飾らず言うと多くの方が「エクセルのことを知らなくてもマクロを使えばエクセルが高度に使えるようになる」と勘違いなさっていますが,基礎が必要なのはいつどこでも一緒という事ですね。 私も、WordやExcelのMOSは持っていますけど、それだけであり、基礎的なことは必要最低限すらわかっていないような気がします。 >もう一点挙げるとすれば,「(どこかの)セルをクリックすると(マクロが)自動で作動して欲しい」については,>こちらのような質問相談掲示板のエクセルのご相談で非常に多く寄せられるご質問の一種です。 そうでしょうね。これは、わかる気がします。 でも、マクロではないんですよね。 そんな中、今回のご回答は本当に感激いたしました。 わぁ、セルクリックでリストが落ちてきた~! でしたから(笑。 >この点については,単にエクセルのご質問に多く回答している経験によるモノです。 私、社内SEのような立場ではありますが、自分のスキルの低さによって、周りのスキルまで落とすことはないとの思いから、「聞いてしまえ」の選択をしました。それでも少しは頑張ったんですけど。 結果的には、最高なモノとなりました。 そして、安易に聞くだけではなく、スキルアップするためのきっかけを探っている状態の中、今回本題の質問とは異なりましたが、改めてkeithin さんのExcelへの想いをお伺いさせていただきました。 ご丁寧な回答をありがとうございました。とても充実した楽しいスレッドでした。 お時間使わせてしまい、すみませんでした。 今回のセルクリックからのリストプルダウン、使いやすいとすでに評判になりつつあります。 まだまだいろんなリクエストがあるようですので、少しずつですが頑張って対応していきたいと思います。 またここに書き込みさせていただく機会も増えるかも(えー、原則自分で頑張るんですけど…)しれません。タイミングが合いましたら覗いていただけると幸いです。 本当にありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

おっとごめんなさい 前のマクロを消して、下記をコピー貼り付けます。 private sub Worksheet_SelectionChange(byval Target as excel.range)  if application.intersect(activecell, range("B:B")) is nothing then exit sub  sendkeys "%{DOWN}" end sub

sukeken
質問者

お礼

keithin さん できました! ところで、このようなスキルどのように身につけていらっしゃったんでしょうか? ネットで簡単に見つけられるようなものでもなさそうですし…。 もしよろしければ、参考になる本とかサイトとか教えていただけると幸いです。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

たとえばB列に入力規則を設定しているとして。 手順: シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub Worksheet_SelectionChange(byval Target as excel.range)  if application.intersect(activecell, range("B:B")) is nothing then exit sub  .sendkeys "%{DOWN}" end sub ファイルメニューから終了してエクセルに戻る B列のセルを選ぶ。

sukeken
質問者

お礼

keithin さん ありがとうございます。 早速ですが、".Sendkeys" が反転して「コンパイルエラー:参照が不正または不完全です」と出てしまい、セル上は何も起きません…。 何か設定が必要でしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A