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

エクセルのシート上のフォームで
リストのボックスの値を上下キーで値を選択エンターキーで選択した値をシートの指定したセルに入力
フォームを閉じる

このようなことをさせたいのですが
どのようにすればよいでしょうか
よろしくお願いいたします。

A 回答 (1件)

ユーザーフォームはくわしくないのですが、とりあえず最低限のサンプルを作ってみました。



リストボックスが配置されたフォームは作成済みとします。
フォーム名はUserForm1、リストボックス名はListBox1であるとします。

UserForm1のコードを以下のようにします。

Private Sub ListBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then
ThisWorkbook.Sheets("Sheet1").Range("A1").Value = ListBox1.Value
ThisWorkbook.Sheets("Sheet1").Range("A2").Value = ListBox1.ListIndex
Unload Me
End If
End Sub

Private Sub UserForm_Initialize()
ListBox1.AddItem "アイテム1"
ListBox1.AddItem "アイテム2"
ListBox1.SetFocus
End Sub

あとはユーザーフォームを表示させ、上下矢印キーでアイテム選択し、Enterキーでフォームを閉じます。アイテムの値とインデックス値はA1とA2に入力されます。
    • good
    • 0
この回答へのお礼

ご指南ありがとうございます

お礼日時:2013/06/18 09:44

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