Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12948 / 13646 ツリー ←次へ | 前へ→

【7758】コンボボックスの表示について トモ 03/9/17(水) 11:30 発言
【7761】Re:コンボボックスの表示について INA 03/9/17(水) 11:42 回答
【7764】Re:コンボボックスの表示について トモ 03/9/17(水) 12:28 お礼
【7763】Re:コンボボックスの表示について Jカーター 03/9/17(水) 12:26 回答
【7765】Re:コンボボックスの表示について トモ 03/9/17(水) 12:31 お礼
【7766】Re:コンボボックスの表示について ichinose 03/9/17(水) 13:27 発言
【7804】Re:コンボボックスの表示について Jaka 03/9/18(木) 15:08 発言
【7811】Re:コンボボックスの表示について ichinose 03/9/18(木) 21:50 お礼
【7822】Re:コンボボックスの表示について Jaka 03/9/19(金) 9:17 発言

【7758】コンボボックスの表示について
発言  トモ  - 03/9/17(水) 11:30 -

引用なし
パスワード
   皆様はじめまして、早速質問なのですが
コンボボックスでドロップダウンリストを表示するのに
マウスでコンボボックスの右の矢印をクリックしない方法を探してます

キーボードの下矢印だと1件しか表示してくれないので
件数が増えると探しにくくなるのと
なるべくキーボードから手を離さないですむ様に作っているので
コンボボックスにフォーカスが移って何かアクションを起こすと
ドロップダウンリスト表示という感じにしたいのです
皆様のお知恵を貸してください
よろしくお願いします

【7761】Re:コンボボックスの表示について
回答  INA  - 03/9/17(水) 11:42 -

引用なし
パスワード
   ドロップダウンリストから選択するだけであれば、
入力規則のリストを使えば、Alt+↓ でリストが表示されます。

シート上のコンボボックスには、キーボード操作でフォーカスが行かないのでは?
 

【7763】Re:コンボボックスの表示について
回答  Jカーター  - 03/9/17(水) 12:26 -

引用なし
パスワード
   こんにちは。
Enterでドロップダウンなら
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode = 13 Then
    Me.ComboBox1.DropDown
    KeyCode = 0
  End If
End Sub

としてはどうでしょう?
的はずれでしたらすいません。

【7764】Re:コンボボックスの表示について
お礼  トモ  - 03/9/17(水) 12:28 -

引用なし
パスワード
   ▼INA さん:
>ドロップダウンリストから選択するだけであれば、
>入力規則のリストを使えば、Alt+↓ でリストが表示されます。
>
>シート上のコンボボックスには、キーボード操作でフォーカスが行かないのでは?
> 
早速の回答有り難うございました
コンボボックスはユーザーフォーム上です
説明足りなかったですね、ごめんなさい
ALT+↓でOKなんですね^^
追加質問で申し訳ないのですがアクションが起こったとき
ALT+↓を押したと同じ状態にする方法ありますでしょうか
私もいろいろ考えて見ます

【7765】Re:コンボボックスの表示について
お礼  トモ  - 03/9/17(水) 12:31 -

引用なし
パスワード
   おお!これですべて解決しました
こんな方法があったんですね、勉強しなきゃ
大変助かりました、本当に有り難うございました^^

【7766】Re:コンボボックスの表示について
発言  ichinose  - 03/9/17(水) 13:27 -

引用なし
パスワード
   皆さん、こんにちは。
Dropdownメソッドについての不可解な現象について・・。

例えば、ユーザーフォーム(Userform1)にコンボボックス(Combobox1)、
テキストボックス(Textbox1)、コマンドボタン(Commandbutton1)という
タブオーダーで配置したとします。
ここで、Userform1を表示させ、いきなり最初にフォーカスを得るコントロールである
コンボボックスのドロップダウンリストを表示させることを考えました。
タブキーを進めていって2順目にコンボボックスにフォーカスが移ったときも同様に
ドロップダウンリストを表示させます。

すぐ思いつくのは、Combobox1のEnterイベントで、

Private Sub ComboBox1_Enter()
  ComboBox1.DropDown
End Sub

ですよね?
ところがこれを実行すると、ドロップダウンリストがとんでもないところに
表示されてしまうんです。
それではと思い、今度は、ユーザーフォームのInitializeイベントではと思い

Private Sub UserForm_Initialize()
  ComboBox1.DropDown
End Sub
も結果は同じでした。

最後にActivateイベントはどうだろうと思い、
Private Sub UserForm_Activate()
  ComboBox1.DropDown
End Sub

やっと正常表示してくれました。
よって、上述の仕様でコンボボックスを動作させるのに

Private FIRST_FLG As Long
'======================
Private Sub AAAComboBox1_Enter()
  If FIRST_FLG = 0 Then
    FIRST_FLG = 1
  Else
    ComboBox1.DropDown
    End If
End Sub
'==================
Private Sub UserForm_Activate()
  ComboBox1.DropDown
End Sub
なんていうコードしないと仕様どおりになりませんでした。

又、「そんなことないよ」なんていうご意見がありましたら、
よろしくお願いします。

【7804】Re:コンボボックスの表示について
発言  Jaka  - 03/9/18(木) 15:08 -

引用なし
パスワード
   こんにちは。
こんな感じで良いんですよね!
Win98se & Exl97SR2 では、待ったくずれませんでした。

Private Sub ComboBox1_Enter()
ComboBox1.DropDown
End Sub

Private Sub UserForm_Initialize()
  ComboBox1.List = Range("A1:A10").Value
End Sub

>ご意見がありましたら、
>よろしくお願いします。

Creccendo G4 PCI 700 1MB 希望。

【7811】Re:コンボボックスの表示について
お礼  ichinose  - 03/9/18(木) 21:50 -

引用なし
パスワード
   ▼Jaka さん:
こんばんは。

>こんな感じで良いんですよね!
>Win98se & Exl97SR2 では、待ったくずれませんでした。
>
>Private Sub ComboBox1_Enter()
>ComboBox1.DropDown
>End Sub
>
>Private Sub UserForm_Initialize()
>  ComboBox1.List = Range("A1:A10").Value
>End Sub

へえ〜、97はすごい・・・。
本日、顧客のPCのExcel2002で確認しましたが(Win98sec)、やっぱり
ずれてました(自分のお勉強に人のPC使うな!!と、言われました)。
ご確認していただきありがとうございました。


>Creccendo G4 PCI 700 1MB 希望。

私の質問には、報酬を要求? (;>_<;) エーン

冗談はともかく、本当にJakaさん、ありがとうございました。
えっ、冗談じゃない?

【7822】Re:コンボボックスの表示について
発言  Jaka  - 03/9/19(金) 9:17 -

引用なし
パスワード
   ichinoseさん おはようございます。

>本日、顧客のPCのExcel2002で確認しましたが(Win98sec)、やっぱり
>ずれてました(自分のお勉強に人のPC使うな!!と、言われました)。
>ご確認していただきありがとうございました。

いえいえどういたしまして。
もしかしたら、ずれているのかもしれませんが、私には普通の状態にしか見えませんでした。
とんでもない所ってどこ?
やっぱしとんでもない所?

>>Creccendo G4 PCI 700 1MB 希望。
>
>私の質問には、報酬を要求? (;>_<;) エーン
>
>冗談はともかく、本当にJakaさん、ありがとうございました。
>えっ、冗談じゃない?

いや!プレゼント付の質問なのかな?太っ腹〜。
と、思ったもので一応要望を...。

12948 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free