[[20050730153518]] 『コンボボックス・コントロール』(ダンボ) ページの最後に飛ぶ

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

 

『コンボボックス・コントロール』(ダンボ)

 ユーザフォームでコンボボックス作ってそこから名前を選択する
 というものを作っています。
 今、バイトリスト(←シートの名前)のE3-E52まで名前データがあり
 そこから項目を選択するようにコンボボックスを設定したいのですが・・・
 よろしくお願いします
excel2002  XP

 こんにちは
表示>ツールバー>フォームでコンボボックスを選択>シート上にコンボボックス配置
コンボボックスを右クリック>コントロールの書式設定
入力範囲に 「バイトリスト!$E$3:$E$52」 と設定する。でどうでしょう
                              (oni)
^^^^
 ユーザーフォーム上にあるのですよね?

 Private Sub UserForm_Initialize()
 With Sheets("バイトリスト")
    Me.ComboBox1.List = .Range("e3:e52").Value
 End With
 End Sub

 (Seiya)

 >ユーザーフォーム上にあるのですよね?
Seiyaさんありがとうございます。おおぼけですね!
ダンボさん私のは無視してください。   (oni)

ありがとうございます。
で全く別に疑問に思ったことがあるんですが、
コンボボックスのリスト開いたときに表示される幅(Width)が元のコンボボックスと違うのはなぜなんでしょう?設定法とかあったら教えてください

 表示するのに十分な幅がないからでしょう。
ちなみに、ListWidthで設定出来るのでComboBox1の幅と同じ幅に
されたらどうでしょうか?
(Seiya)さんのコードをお借りして以下でどうでしょうか?
Option Explicit
Private Sub UserForm_Initialize()
With Me.ComboBox1
    .List = Sheets("バイトリスト").Range("e3:e52").Value
    .ListWidth = .Width
End With
End Sub
(SoulMan)


 ありがとうございます。
またもや問題が・・・
オプションボタンをいくつかつけたら
実行時エラー「438」
UserForm2.Show vbModeless
↑これがいけないみたいなんですが何がダメなのか分かりません

 >UserForm2.Show vbModeless
 は別に問題ないと思いますが、、
 438は
「オブジェクトは、このプロパティまたはメッソドをサポートしていません」
 なので、なにか構文にないものを使ってる?とかでしょうか?
 または、
 UserForm2.Show 0
 としてみるとかぁ???
 うぅ〜〜んっと、、もっと入力支援機能を使われた方がいいですよ。
 #エラーはどこで反転してどんなメッセージですか?
(SoulMan)


 UserForm2.Show 0
でもダメでした。
もっと入力支援機能を使われた方がいいですよ。
#エラーはどこで反転してどんなメッセージですか?
ってどうゆう事ですか??すいません初心者な者で

 えっ?エラーになったら黄色く光ってるところはないですか?
その時のエラーメッセージはなんですか?
実行時エラー「438」・・・・・とか書いてないですか?
入力支援機能は例えばUserFormのコードで
Me.
とだけ入力すると、その次に入力できる候補が出てくるでしょ?
そこから選んでまた「.」を入力したりスペースを入力したりすると
入力出来る候補が出てくるんですよ。エクセルくんって賢いでしょ(^^;
失礼ですけど、一文字一文字入力されてるんじゃないでしょうね??
自慢じゃないけど、私なんかは、入力候補を見ないでも打てる文字と言ったら、、
Applicationぐらいかな??(ーー;)
(SoulMan)

 黄色く光っているのはUserForm2.Show vbModelessで
全体の構文は
Sub 昼3()
  UserForm2.Show vbModeless
End Sub
のみです。
オブジェクトはこのプロパティまたはメソッドをサポートしていません
って出てきました

 多分フォームが読み込めないんだと思うので、フォームの
Private Sub UserForm_Initialize()
この部分のコードを全部コメント化して無効にするか
ここに貼り付けてみてください。
(SoulMan)

Private Sub ComboBox1_Change()
  Worksheets("8-8平日").Range("e35").Value = Me.ComboBox1.Value
End Sub

Private Sub CommandButton1_Click()

  UserForm3.Show vbModeless
  Unload Me
End Sub

Private Sub CommandButton2_Click()

  Unload Me
End Sub

Private Sub UserForm_initialize()

  With Sheets("バイトリスト")
    Me.ComboBox1.List = .Range("e3:e52").Value
    .ListWidth = .Width
 End With
End Sub

'Private Sub UserForm_Initialize()をコメントにすると成功しますけどコンボボックス使えないです


 試してませんが、これでいいと思います。
Option Explicit
Private Sub ComboBox1_Change()
    Worksheets("8-8平日").Range("e35").Value = Me.ComboBox1.Value
End Sub
Private Sub CommandButton1_Click()
    UserForm3.Show vbModeless
    Unload Me
End Sub
Private Sub CommandButton2_Click()
    Unload Me
End Sub
Private Sub UserForm_initialize()
With Me.ComboBox1
    .List = Sheets("バイトリスト").Range("e3:e52").Value
    .ListWidth = .Width
End With
End Sub
(SoulMan)

 Option Explicit入れるだけですよね??これだけで修正できるなんてすごい
ありがとうございます

やっぱり出来ません同じところで詰まってしまいます(>_<)

 >Option Explicit入れるだけですよね??
 よく見比べてくださいよ。
いまのコードです。
Option Explicit
Private Sub UserForm_initialize()
With Sheets("バイトリスト")
    Me.ComboBox1.List = .Range("e3:e52").Value
    .ListWidth = .Width
End With
End Sub
私が書いたコードです。
Private Sub UserForm_initialize()
With Me.ComboBox1
    .List = Sheets("バイトリスト").Range("e3:e52").Value
    .ListWidth = .Width
End With
End Sub
(SoulMan)


 ごめんなさーい
 出来ましたありがとうございました

 個人的には口調(文調?)は対して気にしません。
よほど失礼でない限りは。
具体的に今回の「ごめんなさーい」は別段失礼とも感じないかな。
直後に「出来ましたありがとうございました」と礼を述べているくらいだし。
回答をもらっても放置しているよりはよほど誠意を感じるくらいのものかと。
 
 
誤解を恐れず言うならば、
エクセルの学校って小学校から大学院まで全てをひっくるめる程のマンモス校
みたいなもんかな〜と、なんとなく思う。
中学生に教える大学生が居たり、
同じ高校のライバル同士で知恵を出し合って考えたり、
時にはクラス内やら、あるいは職員室で雑談してたり、
そして口うるさい用務員さんとか居ても良いだろうとも思う。
(ご近所PG)そんな感じでのほほんと

コメント返信:

[ 一覧(最新更新順) ]


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