- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル VBA テキストBoxが複数の場合! )
エクセルVBAの複数のテキストボックスに対応する方法
このQ&Aのポイント
- エクセルVBAを使って、複数のテキストボックスに対応する方法を教えてください。
- テキストボックスに入力したIDに対応する人物の名前を表示する方法を知りたいです。
- 他のブックにあるデータをオープンして、それを格納する方法も教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>ユーザーフォーム上と同じですか?? 違います。でも、テキストボックスって、Excelには、他にも3種類ありますが、そのどれなのでしょうね。その質問だけでは分かりませんね。コントロールツール、フォームツール、オートシェイプの三つがあります。それに、コードのロジックは間違いではありませんが、SS = SH1.Range("A65536").End(xlUp).Row がどのぐらいになりかは分かりませんが、数が多くなると、あまり効率が良くないようです。
その他の回答 (1)
- kybo
- ベストアンサー率53% (349/647)
回答No.1
コントロールを配置しているのは、ユーザーフォームですよね。 複数の場合は、Controls("k" & I).Textのようにします。 SS = SH1.Range("A65536").End(xlUp).Row For lng = 2 To SS 'テキストボックスと同じ値があればを表示する。 For I = 1 To 20 If Controls("k" & I).Text = SH1.Cells(lng, 1).Text Then Controls("k" & I & "n").Text = SH1.Cells(lng, 2) Exit For '同じ値がない場合はメッセージとする。 Else Controls("k" & I & "n").Text = "ID確認!" End If Next I Next lng
質問者
補足
早速の回答ありがとうございます。 使用している場所は、Sheet上にTextBoxです! ユーザーフォーム上と同じですか??
お礼
確かに効率が良くないですね! 色々教えていただきありがとうございました。