• ベストアンサー

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

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

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

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

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

sukeken
質問者

お礼

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

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答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/7940)
回答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

  • Excel2010でExcel2003のリストを

    Excel2003の、「データ」 → 「リスト」 → 「リストの作成」で作ったリストは、(Accessと似たように)表の最後にデータ入力を追加できる行が「*」付きで示され、データを追加すると自動で行が下に拡張されます。 同じことをExcel2010でしたいのですが、2010のテーブルではできないようです。うまくできる方法があれば教えてください。

  • 特定リストから数値を参照する方法

    どなたがご教授をお願いします。 Excel上でカロリー計算を行いたいのですが、 何度も同じ食品のカロリー値を入力するのは面倒なので、 各品目とそのカロリーを別表に保持しておき、 品目名を入力すると自動的にカロリーを表示させたいのですが、 どのようにすればよいでしょうか? 【表1:カロリーリスト】  パン  300  おにぎり 200  いちご  300 【表2:カロリー入力表  「パン」と入力すると、となりのセル  にそのカロリー値を表示させたいです。 よろしくお願いします。

  • excel2010でプルダウンリストが出ません

    こんばんは。 会社内で、LANを使って各部署でexcelの同じ表に入力作業をしているのですが、部署Aでプルダウンリストを作成しても、他の部署では入力する表は同じのが表示されるのですが、プルダウンリストが出ません。どれもバージョンは2010ですが、他の部署で開くと上に互換モードと出ています。作成した時の保存の様式などの問題でしょうか? また、部署Bのexcel2010では部署Aと同じやり方をしてデータ入力規則→リスト選択→元の値 としてもその後の設定するリストの選択に移動できません。 上記2点で仕事が進みません。 初心者で困っています。どうしたらよいのか教えてください。 よろしくお願いします。

  • [Excel2000]セルの入力規則→リストのセルから出るドロップダウンリストが小さ過ぎなのは?

    エクセル2000での質問です。 [ツールバー]→[データ]→[入力規則]→[リスト]のセルから出るドロップダウンリストが 小さ過ぎるのはなぜでしょう? 入力規則を設定したセルも、設定時の元の値のセルでも書式を変更してみたのですが、 ドロップダウンリストは大変小さく変更されません。 ドロップダウンリストの書式(フォントサイズ)を変更する方法をご存知の方が おられましたらどうぞご教授ください。 お願いいたします。

  • ドロップダウンリスト

    お聞きしたいことがあります。 リストを作成し、入力規則からドロップダウンリストで 項目を選択する表を作成しました。 しかし、A列の幅が狭く、ドロップダウンリストで表示されるリストの文字が最初の3文字ぐらいなのです。 列の幅分しか、リストの表示スペースがないのです。 A列の幅に関係なく、もう少し表示されるリストの幅というか文字を増やすには、どうしたらいいでしょうか。 列の幅を広げたり、隣のセルを結合することは、表のレイアウト上できません。 ちなみに、別のエクセルの表では、それができているのですが、それをどうやったかわかりません・・・。 どなたかわかる方、教えてください。

  • 【Excel】「リスト」で1つのセルに複数表示

    「データの入力規則」で作るリストでは複数の項目をセル内に入れることはできないのでしょうか? 例えばリストアップした「リンゴ」「バナナ」「ブドウ」という項目の中から「リンゴ」「バナナ」を1つのセルに表示させたいのです。裏技がありましたら教えてください。 Excel2007利用です。

  • Excel:macでのリストの作り方

    WindowsのExcel2003で作成したファイルをMacに持込み、Excel X for Macで開きました。 この時、Excel2003で作ったドロップダウンリスト(データ>入力規則>入力値の種類:リスト、で作成したもの)の▼マークが表示されません。 リストで指定した項目以外は入力できなくなっているので、入力規則自体は生きているのですが、 セルの右に▼マークが表示されないのでリストから選ぶことができません。 Excel X for Mac側で新規作成したシートでWindows版と同じようにリストを作成すると正常に作成できるのですが、 持ち込んだファイルだとリストの▼マークが消えてしまいます。 持ち込んだファイル上のリストを一旦削除し、再度作成しなおしてみても▼マークが表示されません。 何が原因でしょうか。

    • ベストアンサー
    • Mac
  • EXCELの入力規則のリストについて。その2(IFで空白にしたセル)

    EXCEL2000で入力規則のリストを設定しています。 IF(セル番号="","",VLOOKUP(…))を使用して表を作っています。 表は途中からIFによって空白行になっています。 この表全体をリストの「元の値」に設定しているのですが、プルダウンメニューに空白が延々と表示されてしまいます。 この空白を表示させない方法はあるでしょうか? どうかよろしくお願いします。 もう1つ「EXCELの入力規則のリストについて。その1」という質問もさせていただいています。 併せてよろしくお願いします。

  • エクセル リストボックスについて

    現在、エクセルにて入力フォームを作っているんですが、入力規則の設定のとこでつまづいています。 つまづいているのは、例えば・・・リスト一覧の表を別のファイルのシートに用意をします。ここでの仮名として「リスト一覧表」を作ったとします。 そして本ファイルであるシートの中のセル(D10)に「リスト一覧表」から入力規則のように表示をするためにコンボボックスを使い、 「リスト一覧表」から使いたいリストを選んで「D10」に表示をして、 なおかつ、印刷時には「コンボボックス」の表示を出したくありません。そこで表示を消すにはどうしたらいいのか教えてください。 よろしくお願いいたします。

  • Excel2000のリスト入力について(2)

    Excelの「入力規制」-「リスト入力」でリスト入力を実行すると、当然ながらリスト以外の文字は入力できません。 入力頻度の高いものはリストで、低いものは手入力できればと思います。 そのような方法があったら(VBAは使わずに) 教えてください。

専門家に質問してみよう