[[20050916150831]] 『コンボボックスの活用・・・』(とし) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『コンボボックスの活用・・・』(とし)
お世話様です。ちょっと困った事があるので教えてください。
ユーザーフォームでコンボボックスを作りました。
セルがその場所に行ったときに▽を押して選んでいるのですが、
出来れば▽を押さずに一覧が出てきて、1とか2とかを押すと
ジャックスとかDCとか一覧の言葉が出てくるようにしたいのですが・・・
どうすればいいでしょうか??

 シート(セル)なのか、ユーザーフォーム(コンボボックス)なのか??
 説明の意味がよく分かりません。。。

  (INA)

わかりにくい説明ですいません。要するに、ユーザーフォームで選んだ言葉を
シートのセルの飛ばしたいのです。そのために今、コンボボックスを作り▽を押して
選んでいるのですが、マウスを動かさなければならないため不便です。
なので、カーソルがコンボボックスの所に移動したときに、自動的にユーザーフォーム
の右側あたりに1:***2:**と一覧が表示され、1と入力するとユーザーフォームのボックスに***と表示され、最終的にはそれがシートのセルに飛ばしたい・・・
と言うことです。書きながら思ったのですが・・・これはコンボボックスではないかも
しれません。。これが一番適切だと思い使ってみたのですが、リストボックスを使うのかなぁとも思ってきました。どっちにしても作り方がいまいちわかってないので・・・
ご指導の程宜しくお願いします。(とし)


 ドロップダウンで選択するならコンボボックス。
 リストから選択するならリストボックス。
 を使うのが一般的です。 

 独自のオブジェクトのようなもの(ユーザーインターフェース)を作ると、
 逆にWindowsの標準的なものと異なるので、
 第三者には扱いにくくなる恐れがあります。
  (INA)

そうですか・・・ユーザーフォーム内にはたくさんのテキストボックスやコンボボックスがあるのですが、それらへの入力をテンキーとENTERのみで行えれば効率が良いと
思ったのですが・・・マウスで動かしていると時間がかかるもので・・・何か良い方法はありませんかね??あんまり難しいのでは理解が出来ないと思うので諦めますが・・・
出来ることなら完成度の高い物を作りたいので宜しくお願いします。(とし)


 リストボックスは、2列用いて、1列目に 連番を入れておけば
 数字に反応してフォーカスが移動します。

 フォーカスの移動は、KeyDownイベントで KeyCodeを判定して行います。

 Private Sub ListBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then TextBox1.SetFocus
 End Sub
  (INA)

またまたすいません。こんなことを聞くのはどうかと思うのですが、リストボックスは
作ったことが無いため、根本的に全く分かっていません。。ヘルプを見てもイマイチ
・・・すいませんが具体的に教えていただけないでしょうか??


 WEB検索すれば、VBA入門サイトはたくさんありますよ。

 レッスン16 リストボックスとラベル
http://www.sigoto.co.jp/excel/

  (INA)

INAさんありがとうございます。返事が遅れてすいませんでした。
やってみたら何とかそれらしき形にはなりました。
そこで、またまた質問なんですけど、・・・
今、ユーザーフォーム内にはたくさんテキストボックスがあります。
そして、最後に「登録」というボタンを押してシートに転記するように
しているのですが・・・テキストボックスで入力していないものがあった場合
注意するようなメッセージボックスを表示しています。
そこまではできたのですが、注意のメッセージボックスをOKしたら注意に対する
テキストボックスにカーソルが移動してくれればいいなぁと思ったのですが・・・

(例)テキストボックスA、 B、C、Dと入力後登録ボタン。
テキストボックスBにエラーがあったため、
「Bが正しくありませんと」いうメッセージを表示。
OK後テキストボックスBにカーソルが移動。

こんなことって出来ますでしょうか???(とし)


 どうぞ。

 Private Sub CommandButton1_Click()
 Dim i As Long

    For i = 1 To 4
        With Me.Controls("Textbox" & i)
            If .Text = "" Then
                MsgBox .Name & " が入力されていません。", vbExclamation, "未入力"
                .SetFocus
                Exit Sub 
            End If
        End With
    Next i

    MsgBox "OK"
 End Sub

  (INA)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.