電子書籍の厳選無料作品が豊富!

エクセルのドロップダウンリストの作り方を教えて下さい。

通常のものではない方法を知りたいです。

通常のドロップダウンリストの場合、セルをクリックすると右側に三角が出て、それをクリックすることで選択肢が表示されますが、セルをクリックするだけで選択肢を表示するようにできないでしょうか?

説明が分かりづらかったらすみません。
よろしくおねがいします。

A 回答 (4件)

No2、3です



連投失礼。
添付図も忘れてた。
(1回で済むところを、3回も投稿してしまった…(汗 )
「エクセルのドロップダウンリストの作り方」の回答画像4
    • good
    • 0

No2です




一番最初に何も選択せずに終了するとエラーになるのを見落としていましたので訂正しておきます。
最後から6行目辺りを以下のように修正すれば対応可能です。

tC.Value = LR(LB.Value).Value
 ↓ ↓ ↓
If LB.Value>0 Then tC.Value = LR(LB.Value).Value
    • good
    • 0

こんにちは



好き勝手なUIにするには自作するしかないでしょう。
(自作したとしても自由にできるとは限りませんけれど…)

試しに、簡単に似た雰囲気のものを作成してみました。
※ リストの内容は仮にA1:A4とし、対象セルをC2と仮定しています。
※ A1:A4に適当な内容を入力して、対象シートのシートモジュールに以下を記述。

添付図は、C2セルをクリックしたところです。
SelectionChangeを利用しているので、クリックだけでなくキーの移動でC2セルを選択してもドロップダウンは表示されます。

Private LB As Object

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim tC As Range, LR As Range, b As Object
Const DropName = "MyDropDownList"
Set tC = Cells(2, 3)
Set LR = Range("A1:A4")

If Target.Address = tC.Address Then
 If LB Is Nothing Then
  For Each b In ActiveSheet.ListBoxes
   If b.Name = DropName Then
    Set LB = b
    Exit For
   End If
  Next b
  If LB Is Nothing Then
   Set LB = ActiveSheet.ListBoxes.Add(tC.Left, tC.Top, LR.Width + 12, LR.Height)
   LB.Name = DropName
   LB.ListFillRange = LR.Address
   LB.MultiSelect = xlNone
   LB.Display3DShading = False
  End If
 End If
 LB.Visible = True
Else
 If Not LB Is Nothing Then
  If LB.Visible Then
   tC.Value = LR(LB.Value).Value
   LB.Visible = False
  End If
 End If
End If
End Sub
    • good
    • 0

最初から、オブジェクトで作っておかないと無理かと思います

    • good
    • 0

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