• 締切済み

エラーの回避ができません。

初めて、ご質問させていただきます。 ユーザーフォームのTextBox1に得意先コードを入力し、 Worksheets(2)のRange("A3:M32")の表から参照した文字列を、 VLookup関数を使って、ユーザーフォームのTextBox2に店舗名を表示したい思い、以下のように記述しました。 しかし、『Valueプロパティを設定できません。種類が一致しません。』とエラーが表示され、先にすすめません。 どのように記述すれば、得意先コードを入力すれば ユーザーフォームのTextBox2に、自動的に店舗名が表記されるのでしょうか? Private Sub Textbox1_change()   Dim hanni As Range   Dim sanshou As Variant   Dim nyuryoku As Variant   sanshou = TextBox1.Value   Set hanni = Worksheets(2).Range("A3:M32")   nyuryoku = Application.VLookup(sanshou,hanni,3,false)   TextBox2.Value = nyuryoku End Sub

みんなの回答

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

>Dim sanshou As Variant Dim sanshou As Integer に変更したら、エラーでますか?

gon2008
質問者

お礼

初めての質問で、ログインの方法がわからなく、 お礼が遅くなり申し訳ございません。 ご回答ありがとうございます。 教わった通りintegerへ変更したら、 エラーを回避することができました。 本当にありがとうございました。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

Application.VLookup(sanshou, hanni, 3, False) でエラーが返っていることは無いですか? debug.print Application.VLookup(sanshou, hanni, 3, False) で確認できると思います。 sanshouはテキストボックスから帰ってくるので、文字列になると思いますが、hanniの一列目と型は合っているのでしょうか? ご検討下さい。

関連するQ&A