• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:TextBox.2 に Vlookupを入れる記述を教えて下さい。)

Vlookupの使い方について教えてください

このQ&Aのポイント
  • Vlookupを使って指定したコードを参照し、商品リストから該当する値を取得する方法を教えてください。
  • VBA初心者の方がTextBoxを使って売上伝票を作成している中で、TextBox1のコードをSheet2のB1セルに書き込み、TextBox2にVlookupのような機能を実装して商品リストから該当する値を取得する方法を教えていただきたいです。
  • VBAのコードを作成して試したのですが、うまく動作しませんでした。修正箇所や正しいコードの書き方を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 今のままですと、Vlookup で、最後の引数は、False になりますから、エラーを吐き出しますが、TextBox2.Text は、文字列しか受け付けませんので、そのままエラーで止まってしまいます。 それと、  RangeA ここがどうなっているのかなって思います。 変数に設定しているなら、 With Worksheets("商品リスト") Set RangeA = .Range("A1:B20")     ・    ・    ・     としなければならないと思います。 私ですと、こんな書き方になるかと思います。コマンドボタンは必要ありません。 TextBox1 に対して、"Enter" に対するイベントを付けます。 Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim Data As Variant If KeyCode <> 13 Then Exit Sub  With Worksheets("商品リスト")   Worksheets("Sheet2").Range("B1").Value = TextBox1.Text   If TextBox1.Text <> "" Then   ' .Range("A1:B20") は、実際の商品データ   Data = Application.VLookup(Val(TextBox1.Value), .Range("A1:B20"), 2, False)   End If   If IsError(Data) Then     TextBox2.Text = ""   Else     TextBox2.Text = Data   End If  End With End Sub

関連するQ&A