| 
    
     |  | ▼Yamayama さん: こんばんは。
 Excel2000で実行した限りでは・・・。
 
 >お世話になります
 >
 > VBAを利用して見積書を作成しています。
 >ComboBoxを利用して商品名を選択してOKボタンで自動的に「品名」「称呼」「金額」
 >「番号」「原価」を入力したいのですがうまく動作しません
 >
 > UserForm上にComboBox1,ComboBox2,CommandButtonを配置しています。
 >
 >ComboBox1で各項目を入力させる行番号を指定して、ComboBox2で商品の各項目を選択
 >
 >CommandButtonで見積書の行番号11行から31行のComboBox1で指定した行に入力するよう
 >以下のように書きました
 >
 >Private Sub CommandButton1_Click()
 with combobox2
 >'項目
 >  Cells(ComboBox1.Value + 0, 2) = .List(.ListIndex, 0)
 >'称呼
 >  Cells(ComboBox1.Value + 0, 4) = .List(.ListIndex, 1)
 >'単価
 >  Cells(ComboBox1.Value + 0, 5) = .List(.ListIndex, 2)
 >'番号
 >  Cells(ComboBox1.Value + 0, 10) = .List(.ListIndex, 3)
 >'原価
 >  Cells(ComboBox1.Value + 0, 11) = .List(.ListIndex, 4)
 end with
 >
 >End Sub
 とすれば、正しく設定されています。
 元のままだとListindexは、プロシジャーでの宣言なしの変数として扱われてしまいます。
 
 
 >問題点1
 >  ComboBox2で目的の商品名を選択してもすべて最初の商品名が見積書に入力される。
 >問題点2
 >  1つの商品につき5項目あるのに3項目しか入力されない
 >
 >ComboBox2の項目は別のシートに「品名」A3「称呼」B3「金額」C3「番号」D3「原価」E3
 >の順に商品の数だけ入力、ComboBox2では入力した数きちんと表示されてます。
 >
 >見積書には、「品名」B「称呼」D「金額」F「番号」R「原価」S列の11行から31行のComboBox1で指定した行に入力したい
 >
 >ComboBox2の参照先はプロパティRowSourceに 項目!A3:E7 と入力しています。
 >
 >よろしくお願いします
 
 
 |  |