Excel VBA質問箱 IV

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

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


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

【19549】コンボボックスの不具合について Yamayama 04/11/8(月) 23:07 質問[未読]
【19550】Re:コンボボックスの不具合について ichinose 04/11/8(月) 23:41 回答[未読]
【19552】Re:コンボボックスの不具合について Yamayama 04/11/9(火) 6:09 お礼[未読]
【19588】Re:コンボボックスの不具合について Yamayama 04/11/9(火) 23:41 発言[未読]
【19589】Re:コンボボックスの不具合について ichinose 04/11/10(水) 0:29 発言[未読]
【19592】Re:コンボボックスの不具合について 追伸 ichinose 04/11/10(水) 0:31 発言[未読]
【19593】Re:コンボボックスの不具合について 追伸 Yamayama 04/11/10(水) 0:57 発言[未読]
【19594】Re:コンボボックスの不具合について 追伸 Yamayama 04/11/10(水) 1:53 発言[未読]
【19597】Re:コンボボックスの不具合について 追伸 ichinose 04/11/10(水) 7:24 発言[未読]
【19602】Re:コンボボックスの不具合について 追伸 Yamayama 04/11/10(水) 20:43 発言[未読]
【19604】Re:コンボボックスの不具合について 追伸 ichinose 04/11/10(水) 22:26 発言[未読]
【19610】Re:コンボボックスの不具合について 追伸 Yamayama 04/11/11(木) 9:21 お礼[未読]

【19549】コンボボックスの不具合について
質問  Yamayama E-MAIL  - 04/11/8(月) 23:07 -

引用なし
パスワード
   お世話になります

 VBAを利用して見積書を作成しています。
ComboBoxを利用して商品名を選択してOKボタンで自動的に「品名」「称呼」「金額」
「番号」「原価」を入力したいのですがうまく動作しません

 UserForm上にComboBox1,ComboBox2,CommandButtonを配置しています。

ComboBox1で各項目を入力させる行番号を指定して、ComboBox2で商品の各項目を選択

CommandButtonで見積書の行番号11行から31行のComboBox1で指定した行に入力するよう
以下のように書きました

Private Sub CommandButton1_Click()

'項目
  Cells(ComboBox1.Value + 0, 2) = ComboBox2.List(ListIndex, 0)
'称呼
  Cells(ComboBox1.Value + 0, 4) = ComboBox2.List(ListIndex, 1)
'単価
  Cells(ComboBox1.Value + 0, 5) = ComboBox2.List(ListIndex, 2)
'番号
  Cells(ComboBox1.Value + 0, 10) = ComboBox2.List(ListIndex, 3)
'原価
  Cells(ComboBox1.Value + 0, 11) = ComboBox2.List(ListIndex, 4)
  
End Sub

問題点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 と入力しています。

よろしくお願いします


 

【19550】Re:コンボボックスの不具合について
回答  ichinose  - 04/11/8(月) 23:41 -

引用なし
パスワード
   ▼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 と入力しています。
>
>よろしくお願いします

【19552】Re:コンボボックスの不具合について
お礼  Yamayama E-MAIL  - 04/11/9(火) 6:09 -

引用なし
パスワード
   ichinose さん

早速のRESありがとうございます

書き換えて試してみます。

【19588】Re:コンボボックスの不具合について
発言  Yamayama E-MAIL  - 04/11/9(火) 23:41 -

引用なし
パスワード
   ichinose さん こんばんわ

 With を入れて実行してみましたが、以前と変わりません

他に設定等必要なのでしょうか?

【19589】Re:コンボボックスの不具合について
発言  ichinose  - 04/11/10(水) 0:29 -

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

>
> With を入れて実行してみましたが、以前と変わりません
>
>他に設定等必要なのでしょうか?
ん?、全く変わりませんか?
変更したコードも見せて下さい。
それから、Combobox1に設定しているセル範囲とそのセルの値の説明もして下さい。
こちらで再現できる資料を出来るだけ詳細にアップして下さいね!!

ちなみに私のほうでは、前回のコードで正しく設定が出来ているんです。

【19592】Re:コンボボックスの不具合について 追伸
発言  ichinose  - 04/11/10(水) 0:31 -

引用なし
パスワード
   >こんばんは。
>
>>
>> With を入れて実行してみましたが、以前と変わりません
>>
>>他に設定等必要なのでしょうか?
>ん?、全く変わりませんか?
>変更したコードも見せて下さい。
>それから、Combobox1に設定しているセル範囲とそのセルの値の説明もして下さい。
>こちらで再現できる資料を出来るだけ詳細にアップして下さいね!!
>
>ちなみに私のほうでは、前回のコードで正しく設定が出来ているんです。
ついでにExcelのバージョンも教えて下さい。

【19593】Re:コンボボックスの不具合について 追伸
発言  Yamayama E-MAIL  - 04/11/10(水) 0:57 -

引用なし
パスワード
   ichinose さん
こんばんわ

変更したコードです

private Sub CommandButton1_Click()

With ComboBox2


'項目

  Cells(ComboBox1.Value + 0, 2) = ComboBox2.List(ListIndex, 0)
  
'称呼

  Cells(ComboBox1.Value + 0, 4) = ComboBox2.List(ListIndex, 1)
  
'単価

  Cells(ComboBox1.Value + 0, 5) = ComboBox2.List(ListIndex, 2)
  

'番号

  Cells(ComboBox1.Value + 0, 10) = ComboBox2.List(ListIndex, 3)
  
'単価

  Cells(ComboBox1.Value + 0, 11) = ComboBox2.List(ListIndex, 4)
  
  End With
 
End Sub

Combobox1に設定しているセル範囲とそのセルの値

11から31が表示できれば良いので「項目」シートのR3〜R23へ11〜31の数字をいれて

Combobox1のプロパティRowSourceに「項目!R3:R23」と記入しています

Excelのバージョンは2000です

よろしくお願いします

【19594】Re:コンボボックスの不具合について 追伸
発言  Yamayama E-MAIL  - 04/11/10(水) 1:53 -

引用なし
パスワード
   書き忘れてました

同じシートに「提出先」B3 と「件名」B7を入力する別のUserFormを配置しています。

「提出先」はコンボボックスで「項目!H3:H7」を参照

「件名」はテキストボックスに入力してシートに転記するようにしています。

不具合に影響しますか?

【19597】Re:コンボボックスの不具合について 追伸
発言  ichinose  - 04/11/10(水) 7:24 -

引用なし
パスワード
   ▼Yamayama さん:
おはようございます。
インパクトのない投稿をしてしまったので気がつかなかったのでしょう・・・。
投稿したコードは、単にWithステートメントで囲んだだけではありません。

>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

項目を例に挙げれば、

・・・・=.List(.ListIndex, 0)

Yamayama さんが変更したコードと見比べてみて下さい。

Listindexの前に「.」が付いています。

【19602】Re:コンボボックスの不具合について 追伸
発言  Yamayama E-MAIL  - 04/11/10(水) 20:43 -

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

何度もすいません


問題点1
  ComboBox2で目的の商品名を選択してもすべて最初の商品名が見積書に入力される。
は解消されました。ありがとうございます。

なぜか、問題点2 1つの商品につき5項目あるのに3項目しか入力されない は以前とかわりません。

番号
  Cells(ComboBox1.Value + 0, 10) = .List(.ListIndex, 3)
'原価
  Cells(ComboBox1.Value + 0, 11) = .List(.ListIndex, 4)

上記の2行でセルに数字が転記されないのですが・・・

【19604】Re:コンボボックスの不具合について 追伸
発言  ichinose  - 04/11/10(水) 22:26 -

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

>問題点1
>  ComboBox2で目的の商品名を選択してもすべて最初の商品名が見積書に入力される。
>は解消されました。ありがとうございます。
>
>なぜか、問題点2 1つの商品につき5項目あるのに3項目しか入力されない は以前とかわりません。
これは、気になっていましたが、コードを見た限りでは理由はわかりません。
実際に番号、原価は、D列、E列に正しく入力されているのですよね?
(例えば、D列、E列が非表示になっていて、実は、F列、G列に入力されているとか)


>
>番号
>  Cells(ComboBox1.Value + 0, 10) = .List(.ListIndex, 3)
>'原価
>  Cells(ComboBox1.Value + 0, 11) = .List(.ListIndex, 4)
>
>上記の2行でセルに数字が転記されないのですが・・・

新規ブックにこの部分だけ再度作って試してみてはいかがですか?

【19610】Re:コンボボックスの不具合について 追伸
お礼  Yamayama E-MAIL  - 04/11/11(木) 9:21 -

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

>(例えばD列、E列が非表示になっていて、実は、F列、G列に入力されているとか)
>新規ブックにこの部分だけ再度作って試してみてはいかがですか?

ichinose さんの「非表示」と言う言葉で謎はとけました。

見積シートは複雑なので私が作ったものではなく事務所が作成した物を
流用して使用していました。まさかと思い列をチェックしてみるとなんと
IからPまで8行も抜けていました。正しい列をいれ直すときちんとすべて
表示されました。
 本当にお騒がせしてすいませんでした。

ありがとうございました。

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