Excel VBA質問箱 IV

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

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


24201 / 76732 ←次へ | 前へ→

【57882】テキストボックスに条件分岐で検索値を表示
質問  takeshi  - 08/9/18(木) 22:33 -

引用なし
パスワード
   VBA初心者のtakeshiです。

受注入力というユーザーフォームを作りました。
そのフォームには
1.得意先名(コンボボックスで得意先登録というシートよりリスト表示)

2.製品名(コンボボックスで製品登録というシートよりリスト表示、1.の得意先名を選択すると、その得意先の製品のみ表示されるようになっている)

3.受注数(コンボボックスで製品登録というシートよりリスト表示、1.,2.のリストから選択することにより、その製品のメーカー指定のロット数がリスト表示される)

4.在庫数(手入力)
5.社内発注数(受注数-在庫数)

6.単価(テキストボックス。3.の受注数に対してそれぞれの単価が製品登録のシートに登録されている)

という項目があります。

教えていただきたいのは、単価の箇所に3.の受注数を選択すると自動的に単価表示ができるようにしたいのです。

Private Sub ComboBox1_Change()
  Dim k As Integer
  Dim cnt As Integer
  cnt = Worksheets("製品登録").Range("A5").CurrentRegion.Rows.Count
  受注入力.ComboBox2.Clear
     For k = 5 To cnt
       If Worksheets("製品登録").Cells(k, 1).Value = 受注入力.ComboBox1.Value Then
         受注入力.ComboBox2.AddItem Worksheets("製品登録").Cells(k, 3).Value
       End If
     Next
End Sub

Private Sub ComboBox2_Change()
  Dim i As Integer
  Dim cnt As Integer
  cnt = Worksheets("製品登録").Range("A5").CurrentRegion.Rows.Count
  受注入力.ComboBox3.Clear
     For i = 5 To cnt
      If Application.WorksheetFunction.IsNumber(ComboBox2.Value) = True Or Application.WorksheetFunction.IsText(ComboBox2.Value) = True Then
        If Worksheets("製品登録").Cells(i, 3).Value = 受注入力.ComboBox2.Value Then
          受注入力.ComboBox3.AddItem Worksheets("製品登録").Cells(i, 87).Value
          受注入力.ComboBox3.AddItem Worksheets("製品登録").Cells(i, 89).Value
          受注入力.ComboBox3.AddItem Worksheets("製品登録").Cells(i, 91).Value
        End If
      End If
     Next
End Sub

上記のコードは2.製品名3.受注数のコードで何とか正常に動いてくれます。
問題は、単価です。いろいろと試してみたんですが、いろいろなエラーが出て、もう訳が分からなくなっています。

一応、Worksheet関数のVlookupがいいのかなぁなんて思いながら、やってみても
どうもおかしいみたいで、いったいどういう表記の仕方をすればいいのか、条件分岐の仕方がわかりません。

一応、やりかけでパニックになったところのプログラムを下にはっ付けておきますんで、どなたかどうしたらいいか教えてください、お願いします。

初心者ですんで、変なプログラムで恥ずかしい限りです・・・。

Private Sub CommandButton4_Click()
  Dim i As Integer, j As Integer
  i = Worksheets("製品登録").Range("A5").CurrentRegion.Rows.Count
  j = Worksheets("製品登録").Range("A5").CurrentRegion.Columns.Count
  If 受注入力.ComboBox3.Value = Application.WorksheetFunction.VLookup(受注入力.ComboBox2.Value, Worksheets("製品登録").Range("C5:CN23"), 85, False) Then
    受注入力.TextBox5.Value = Application.WorksheetFunction.VLookup(受注入力.ComboBox2.Value, Worksheets("製品登録").Range("C5:CN23"), 86, False)
  Else: TextBox5.Value = "*"
  End If
End Sub
1 hits

【57882】テキストボックスに条件分岐で検索値を表示 takeshi 08/9/18(木) 22:33 質問
【57883】Re:テキストボックスに条件分岐で検索値を... neptune 08/9/18(木) 22:46 発言
【57884】Re:テキストボックスに条件分岐で検索値を... takeshi 08/9/18(木) 23:17 発言
【57904】Re:テキストボックスに条件分岐で検索値を... neptune 08/9/19(金) 17:23 回答
【57906】Re:テキストボックスに条件分岐で検索値を... kanabun 08/9/19(金) 19:43 発言
【57908】Re:テキストボックスに条件分岐で検索値を... neptune 08/9/19(金) 21:52 発言
【57915】Re:テキストボックスに条件分岐で検索値を... takeshi 08/9/20(土) 12:58 お礼
【57889】Re:テキストボックスに条件分岐で検索値を... kanabun 08/9/19(金) 10:18 発言
【57912】Re:テキストボックスに条件分岐で検索値を... kanabun 08/9/20(土) 0:50 発言
【57918】Re:テキストボックスに条件分岐で検索値を... takeshi 08/9/21(日) 1:34 お礼
【57923】Re:テキストボックスに条件分岐で検索値を... kanabun 08/9/21(日) 9:34 発言
【57927】Re:テキストボックスに条件分岐で検索値を... takeshi 08/9/21(日) 19:31 お礼
【57914】Re:テキストボックスに条件分岐で検索値を... takeshi 08/9/20(土) 12:49 回答

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