dポイントプレゼントキャンペーン実施中!

Excelでとあるアンケートを作っております。
質問の選択肢が多いため、プルダウンリストではなく、ポップアップリストから
選択するようにしたいのですが、どのようにやればできるのでしょうか。VBA
で組まないとできないのでしょうか。

ご教示願えますと幸甚です。

A 回答 (3件)

エクセルには「ポップアップリスト」のような仕組みは無いのでは。


ーー
VBAのイベントの仕組みを使っている。
それらしく、シートを選択リストとすることを考えると
Sheet1に最終的にデータ入力するものとする。そのための仕掛けである。
Sheet1のG列に大分類の項目を作る
G1:G5
野菜
鮮魚
日配
果物
雑貨
入力規則のドロップダウンにも出来るが、この回答では、これらのセルを選択してクリックすることにする。
Sheet2のシート名を「野菜」にする(G列の分類名とあわせる)。
このシートにこの分類(野菜)のデータを用意する。

きゅうり福岡産200
ねぎ大分産100
ホウレンそう岡山産80
・・・
以下略。
Sheet3のシートの名前を「鮮魚」にする。
このシートにこの分類のデータを用意する。

さば大分産300
アジ宮崎産200
・・・
以下略。
ーーーー
以下のシートの説明略。
ーーー
標準モジュールに
Sub test01()
a = Selection
b = Selection.Offset(0, 1)
c = Selection.Offset(0, 2)
d1 = Worksheets("Sheet1").Range("A65536").End(xlUp).Row
Worksheets("Sheet1").Cells(d1 + 1, "A") = a
Worksheets("Sheet1").Cells(d1 + 1, "B") = b
Worksheets("Sheet1").Cells(d1 + 1, "C") = c
End Sub
選択した行の各列データをSheet1へ代入する。
ーー
「野菜」シートの「コードの表示」の画面に
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
test01
Worksheets("Sheet1").Select
End Sub
「鮮魚」シートの「コードの表示」画面に
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
test01
Worksheets("Sheet1").Select
End Sub
・・
以下のシートも同じだが、説明略。
ーーー
操作
Sheet1でシート名のセル(またはドロップダウン)を選ぶ(仮に「鮮魚」のセルをクリック)と
「鮮魚」シートが開く
そこで「さば」をクリックすると、そのデータがSheet1に入力される。
「野菜」シートで「ねぎ」をクリックすると
Sheet1
さば大分産300
ねぎ大分産100
ーー
不安定(間違って選択してクリックなどの点)なところがあって、(チェックなど)他の人に使ってもらうレベルではないが。
だからあきらめた方が良かろう。

この回答への補足

やはりVBAでしっかり組まなければ駄目なんですかね。ありがとうございます。

補足日時:2011/08/08 10:04
    • good
    • 0

参考になりそうなサイトがありました


ポップアップ・リスト・ウィンドウ
http://www.microlab.jp/xcutedoc/Documents/manual …

ドロップダウンリストでも入力規則で範囲を狭めつつ選択する方法も考えられます
http://www.kenzo30.com/ex_kisopoint/onepoint_son …
    • good
    • 0

VBAで組まないと難しいかと。



そもそもポップアップにする必要があるのかどうか・・・

この回答への補足

やはりVBAですかね。選択肢の数が多すぎ、また一文一文が長いので、視覚的に全部見えるようにしたいんです。

補足日時:2011/08/05 17:22
    • good
    • 0

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