
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も見ています
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
許せない心理テスト
皆さんがこれまで受けた中で許せない心理テストがあれば教えていただきたいです。
-
限定しりとり
文字数6文字以上の単語でしりとりしましょう
-
一番好きなみそ汁の具材は?
みんなで大好きなみそ汁の具材について語り合おうよっ!
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
ユーザーフォームでTextBox1にカーソルを移動したい
Excel(エクセル)
-
ユーザーフォームのSetFocusが働かない?
その他(プログラミング・Web制作)
-
-
4
どこにもフォーカスを当てたくない
Access(アクセス)
-
5
VBAでリストボックス内で↑↓の操作でポイントを移動出来ています。ですが、ある1つのリストボックス内
Visual Basic(VBA)
-
6
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
7
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
8
矢印(左右)キーでイベントを発生させたい。
Visual Basic(VBA)
-
9
VBA ユーザーフォームの Keypreview について
Visual Basic(VBA)
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
11
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
12
エクセルでは「→」キーで移動できない?
Excel(エクセル)
-
13
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
14
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
15
テキストボックスのカーソル位置の取得・設定方法
Visual Basic(VBA)
-
16
エクセルVBA
Excel(エクセル)
-
17
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
18
コマンドボタンのEnterイベント後に、フォーカスを移動したい。
その他(Microsoft Office)
-
19
Excel VBAで、ユーザーフォームをモードレス表示している間、処理を止めるには?
Visual Basic(VBA)
-
20
Excel VBAでフォーカスを移動しない方法の続き
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
着地点が2点ある→を出すには
-
Excelマクロ、フォーム入力での...
-
矢印キーの移動量変更
-
ワードで不可逆化学反応式を
-
EXCEL VBA カーソル移動方法?
-
word、excelでの白抜き矢印の書...
-
PCのキーボードにFnキーが無い...
-
backspaceキー押しても1文字ず...
-
ノートPCに外付けキーボード...
-
asrockのマザボでBIOS(UEFI)を...
-
PCのキーボードの「H」「C...
-
ノートパソコンのスペースキー...
-
レノボキーボードのPageup/Down...
-
Tabキーとテンキーが右側にある...
-
BIOSの画面でキーボードが反応...
-
パソコンの@の打ち方がわかりま...
-
デスクトップパソコンのキーボ...
-
一台のPCに二つのキーボードを...
-
デスクトップパソコンのbluetoo...
-
Ctrlキーの一つが使えません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
着地点が2点ある→を出すには
-
Excelマクロ、フォーム入力での...
-
word、excelでの白抜き矢印の書...
-
矢印キーの移動量変更
-
ワードで不可逆化学反応式を
-
エクセルの図形のつなぎ合わせ...
-
タッチパッドを無効にしたいが...
-
パワーポイントの矢印の変更に...
-
マウスホイールで画面が拡大?
-
カーソルがチカチカと点滅した...
-
gimpで1ドット移動する
-
エクセルのオートシェイプで太...
-
JPEGで作成したファイル(写真)...
-
Acrobat Xの矢印表記
-
EXCEL VBA カーソル移動方法?
-
PCのキーボードにFnキーが無い...
-
一台のPCに二つのキーボードを...
-
backspaceキー押しても1文字ず...
-
asrockのマザボでBIOS(UEFI)を...
-
自作PCの最初の起動時には
おすすめ情報