No.4ベストアンサー
- 回答日時:
こんにちは。
とりあえず、ComboBox の中で、↓(下向き矢印キー)が、最後でフォーカスを移動しないようにするには、このようにすると出来ます。
'------------------------------------------------------------
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 40 And ComboBox1.ListIndex > ComboBox1.ListCount - 2 Then
KeyCode = 0
End If
End Sub
'------------------------------------------------------------
これは、↓(下向き矢印キー)の効力が、ListIndex の最後になると通らない、ということです。
KenKen_SPさんへ
今、ちょうど、KenKen_SPさんのヘルプが欲しいと思っていたところです。
>「一番最後」とはどういうことでしょうか?
私から言わせていただくと、これは直接関係がなくて、↓(下向き矢印キー)では、フォーカスを移動させない、ということに他ならないのですね。
今回は間に合わせなのですが、コードを見ていただければ、私の発想はお分かりなるかと思います。ご質問者の内容は、本来は、ComboBox の中の時だけ、↓(下向き矢印キー)が使えればよい、ということだと思うのです。そうすると、ComboBox をフォーカスした時だけ、矢印キーを Enable にするというようなコードを示せればよいのではないかと思いました。しかし、今の私のスキルもさることながら、今のPCでは、いろんな事情があって、試すことが出来ません。(失敗すると、当分、ここに戻れなくなる可能性が強いです。(^^;)
できました!!ほぼ希望どおりのうごきです!!!
ついでにif文中に KeyCode = 38 And ComboBox1.ListIndex < 1
の条件を入れて上矢印も通らなくすることができました。
データのフォーム入力したかったのですが項目が多すぎて
Excel既定のフォームでは入力することができず、
自作せざるを得ませんでした。
すごく助かりました。ありがとうございました。
No.3
- 回答日時:
> カーソルでフォーカスが移動してしまいます。
> 一番最後まで行けば、コントロールのフォーカスは移動します
「一番最後」とはどういうことでしょうか?
ANo.2、ANO.4さんのソースで解決しました。
ちょっと消化不良かもしれませんが急ぎなものでこれで失礼します。
ありがとうございました。
No.2
- 回答日時:
こんばんは。
>項目の移動をするとき矢印キーだとcomboboxの中身が入れ替わってしまうので、
一番最後まで行けば、コントロールのフォーカスは移動しますが、その前に、使い方になれたほうがよいのではないでしょうか?かなりイレギュラーな設定で、返って混乱しかねないと思います。
>リターンキーとタブキーでの移動にしたい
標準的に、タブストップを置いてあれば、移動するはずです。
以下のようにすれば、[↓]矢印キーで、ComboBox の内容が移動しないようには出来ますが、さて、どんなものでしょうか?私の勇み足かもしれませんが。
Private Sub ComboBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, _
ByVal Shift As Integer)
Dim i As Long
i = ComboBox1.ListIndex
If KeyCode = 40 Then
ComboBox1.ListIndex = i - 1
End If
End Sub
この回答への補足
>一番最後まで行けば、コントロールのフォーカスは移動しますが、
これに困っています。
ここでフォーカスの移動をさせたくないんです。
ありがとうございます。助かります。
希望する動きとしてはまったく逆になります。
ComboBoxの中だけで矢印キーを有効にし、
フォーカス移動では無効にしたいのです。
タブとリターンでのフォーカス移動はできていますので、
矢印キーでのフォーカス移動だけを無効にしたいんですが・・・。
No.1
- 回答日時:
こんにちは。
KenKen_SP です。> 項目の移動をするとき矢印キーだとcomboboxの中身が入れ替わって
> しまうので、矢印キーでの移動を禁止してリターンキーとタブキー
> での移動にしたい...
ご質問文において「項目の移動」とは、どのようなことでしょうか?
もう少し詳しく補足願います。
「項目の移動」について下記の2つが推測できます。
・コントロールのフォーカスを他コントロールに移動させること
フォーカスを移すコードを特に書いてなければ、キー操作だと
カーソル(矢印)キーでは移動できないと思います。
・ComboBox コントロール内の選択項目の移動
「ComboBox コントロールの値を変更させたくない」ということ
なのでしょうか?
この回答への補足
ありがとうございます、感激です。
困ったとき相談できる人がいるのはとても助かります。
>「項目の移動」について
前者のフォーカスを他コントロールに移動させること、になります
ComboBoxに限らず、フォーム内のフォーカスの移動を
矢印キーの使用を禁止(無効に?)して
矢印キーはComboBoxコントロール内だけで有効にしたいのです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- マウス・キーボード マウスのないパソコン 9 2022/03/30 10:53
- Excel(エクセル) 右矢印を押すと画面全体が移動します。 2 2023/06/19 08:12
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- Excel(エクセル) Excelで、カーソルの移動が異常です。 1 2022/06/15 20:54
- CAD・DTP Rhinocerosについて質問です。 始めたばかりで調べても分からないのでお聞きします。 移動につ 1 2023/08/01 23:13
- Excel(エクセル) この記号、手短(テミジカ)に日本語/英語で何と称されますか? 1 2022/07/25 16:12
- Excel(エクセル) Windows 10でエクセルの入力をしていますが、エンターを押すことなく矢印で途中までは右へ移動し 3 2022/07/14 14:04
- YouTube YouTubeコメント。 1 2022/04/23 09:43
- Word(ワード) Word 2016のマクロを Word 2021のWordでキー動作させたい 3 2023/04/12 16:14
- iPad これまでタブレットは何台使ったか数え切れないほどですが、今回iPadを初めて手に入れました。 全体的 5 2022/08/07 18:34
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
矢印(左右)キーでイベントを発生させたい。
Visual Basic(VBA)
-
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
-
4
Excel VBA:フォーム←→セルのアクティブ切り替え
Excel(エクセル)
-
5
VBAでリストボックス内で↑↓の操作でポイントを移動出来ています。ですが、ある1つのリストボックス内
Visual Basic(VBA)
-
6
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
7
テキストボックスのカーソル位置の取得・設定方法
Visual Basic(VBA)
-
8
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
9
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
10
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
11
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
12
TextBoxコントロールを引数として渡すには?
その他(教育・科学・学問)
-
13
フォーカスを移動させない方法
Visual Basic(VBA)
-
14
エクセルでは「→」キーで移動できない?
Excel(エクセル)
-
15
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
16
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
17
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
18
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
19
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
20
Excel VBAでマウスの左クリックのイベントを検知するには
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
着地点が2点ある→を出すには
-
word、excelでの白抜き矢印の書...
-
マウスホイールで画面が拡大?
-
ワードで不可逆化学反応式を
-
Excelマクロ、フォーム入力での...
-
エクセルの図形のつなぎ合わせ...
-
PCのキーボードにFnキーが無い...
-
テンキー入力画面左下に黄色い...
-
STRIKE4について。
-
キーボードキーを押しっぱなし...
-
一台のPCに二つのキーボードを...
-
プリントスクリーンのボタンがM...
-
自作PCの最初の起動時には
-
キーボード..「ウォ」と「デュ...
-
backspaceキー押しても1文字ず...
-
ノートPCに外付けキーボード...
-
タイピングが速い人は頭の回転...
-
キーボードでリピート記号を入...
-
AltキーとCtrlの間にあるキー
-
どうやって打つの??
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
着地点が2点ある→を出すには
-
ワードで不可逆化学反応式を
-
word、excelでの白抜き矢印の書...
-
矢印キーの移動量変更
-
Excelマクロ、フォーム入力での...
-
エクセルの図形のつなぎ合わせ...
-
マウスホイールで画面が拡大?
-
EXCEL VBA カーソル移動方法?
-
タッチパッドを無効にしたいが...
-
カーソルがチカチカと点滅した...
-
エクセルで矢印キーを押すと画...
-
キーボードでタスクバーを操作...
-
エクセルでキーボードの矢印を...
-
JPEGで作成したファイル(写真)...
-
パワーポイントの矢印の変更に...
-
office07 Execelの図形描画
-
パワーポイント アニメーション
-
PCの表示がおかしいです、矢印...
-
キーボードの矢印が操作不能(...
-
IEで戻る矢印が使えなくなる現...
おすすめ情報