- 締切済み
エラーの回避ができません。
初めて、ご質問させていただきます。 ユーザーフォームの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
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- hige_082
- ベストアンサー率50% (379/747)
>Dim sanshou As Variant Dim sanshou As Integer に変更したら、エラーでますか?
- mitarashi
- ベストアンサー率59% (574/965)
Application.VLookup(sanshou, hanni, 3, False) でエラーが返っていることは無いですか? debug.print Application.VLookup(sanshou, hanni, 3, False) で確認できると思います。 sanshouはテキストボックスから帰ってくるので、文字列になると思いますが、hanniの一列目と型は合っているのでしょうか? ご検討下さい。
お礼
初めての質問で、ログインの方法がわからなく、 お礼が遅くなり申し訳ございません。 ご回答ありがとうございます。 教わった通りintegerへ変更したら、 エラーを回避することができました。 本当にありがとうございました。