- ベストアンサー
エクセルのデータ入力規制をつかってドロップダウン入力を設定した場合
エクセルのデータ入力規制をつかってドロップダウン入力を設定した場合 ドロップダウン入力がアクティブになった時に自動でドロップダウン一覧が下に出るように出来ますか。 現在は下向き▼をマウスでクリックしないとリストが出てきません。 マウスを使わずにキーボードの上下ボタンで入力したいのですが。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
マクロの回答がないようなので。。。 簡単には、セルがアクティブになったらそのセルに、 Altキーと↓キーをセットで送ってやればいいでしょう。 Sendkyesメソッドで送れます。 ●リスト形式の入力規則が、 Sheet1の A1~A5 と C1~C3 にセットしてあると仮定。 ●下記コードを次のようにしてSheet1のシートモジュールにコピペ。 Sheet1のシートタブを右クリック > コードの表示 表示されるVBE画面のコードウィンドウ(白い部分)にコピペして VBE画面を閉じる (最重要) コピペする前にVBE画面のタイトルバーに Sheet1と表示されてることを必ず確認すること。 '--------Sheet1のシートモジュール-------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Count > 1 Then Exit Sub Dim myAdrs As String myAdrs = "A1:A5,C1:C3" '●入力規則セル If Not Intersect(Target, Range(myAdrs)) Is Nothing Then Application.SendKeys "%{DOWN}" End If End Sub '------------------------------------------- これでA1:A5,C1:C3のセルがアクティブになったら ドロップダウンリストが表示されます。 また、リスト形式入力規則のセルが変更になったら 例えば、セルF5 がひとつ増えたら myAdrs = "A1:A5,C1:C3,F5" とします。 -------------------------------------------- ●実務で(他の人も)使う場合はより汎用的なコードにするべきですが、 今回は、こんなふうにしてもできますよ、という参考程度ということで。。 以上です。
その他の回答 (2)
そのセルをアクティブにして、Alt+↓ で開きます。 あとは、カーソルキーで選択しエンターキーで確定できますが。
補足
回答ありがとうございます。 Altキーをつかってマウスを使わずに表示できるのですね。 出来ればセルがアクティブになった時に自動でプルダウンが出るようになればベストなのですが。 ご存知でしたら教えてください。
- aokii
- ベストアンサー率23% (5210/22062)
マクロを使えば出来ますが、お勧めしません。 ▼をマウスでクリックしないとリストが出て来ない方が使いやすいのでは。 アクティブになった時に自動でドロップダウン一覧が下に出るようになるとエクセル自体の編集が出来にくいのでは。
補足
回答ありがとうございます。 マクロを使えば実現できるということですが面倒でなければマクロの設定方法を教えてください。
お礼
回答ありがとうございます。 マクロは便利で考え方一つで思い通りのことができて大変楽しいですね。 教えていただきましたマクロを有効に使わせていただきます。 ありがとうございました。