• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA VLOOKUpについて)

VBA VLOOKUpについて

このQ&Aのポイント
  • VBAでVLOOKUP関数を使用する方法について教えてください。
  • セルB1に名前があり、セルQ1にIDがある場合、UserFormを開いた時に表示させるためのVBAの記述方法を教えてください。
  • 使用するブックとシートをセットし、VLOOKUP関数を使用してTextBox1に入力された値を検索し、結果をセルB2に表示するようにする記述方法を教えてください。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

>Fromが表示されその時にTextBoxに名前を表示させたいのです セルの値をテキストボックスに入れるのは簡単ですが、テキストボックスの数だけしかその処理ができませんよね。 >どのように変化させれば良いのでしょうか? いくつもの方法がありますが、マクロ作成の目的や貴方が望む動作というのが解らないので何とも言えません。 普通はテキストボックスに入れたデータから検索(今回はVLOOKUP)して、結果を別のテキストボックスに表示するなどの方法をとります。 マクロを見ると、検索値が特定データ(402-B)の場合はテキストボックスの値を任意のセルに入れているようですが・・・。 単に検索して自動記入するだけならフォームやテキストボックスなんて無くても普通にマクロで処理すれば良いと思いますが? マクロを組む上では、はっきりとした仕様が解らないと曖昧な回答のやりとり終わってしまいますよ。 ○○をするためのコード △■をするためのコード □○をするためのコード などと分離して、最終的に組み立てる事を考えてみては?

pop2003
質問者

補足

何度もありがとうございます。 Fromで表示は一覧できる利点と、DATAを他の人が弄れないようにするためです。 私がしたいのは Fromで表示させると自動的に セルの17列(Q)に405-BというIDを検索して 数字を見つけたら 今度は、2列(B)の名前が書かれているところを TextBoXに転写させ名前を表示させたいです。 そんなことは出来ないのでしょうか? すいません何度も質問してしまって・・・

その他の回答 (3)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.4

No.3です > そこからFromのTextBoxに写す場合はどのように > すれば良いのでしょうか?? TextBox1に、Sheet2のB1セルの値を表示するならこんな感じです。 Private Sub UserForm_Initialize()  TextBox1.Value = Sheets("Sheet2").Range("B1").Value End Sub

pop2003
質問者

お礼

ありがとうございます!! 出来ました!!

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

表示させる値をシート上に用意しておいた方が良いかと思います。 シートWの適当なセルに↓の式を入れおいてTextBoxはそのセルの値を表示させましょう。 =IF(ISNUMBER(MATCH("405-B",Q:Q,0)),OFFSET(B1,MATCH("405-B",Q:Q,0)-1,0),"")

pop2003
質問者

補足

回答ありがとうございます! 別のSheetに写しました。 そこからFromのTextBoxに写す場合はどのように すれば良いのでしょうか?? A    B 405-B Aさん … このようにしました!

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>UserFormを開いた時に表示させたい場合 これだと UserForm_Initialize() イベントになりますが、この状態ではTextBox1.Textが空になっているのでエラーになると思いますよ。 通常はTextBox1のイベント等に記載するのでは? >これでは当然駄目です!! 何が駄目なのでしょうか? 提示された部分としては問題無く動作していると思いますが?

pop2003
質問者

補足

ありがとうございます。 Sheet上のボタンをクリックしたら Fromが表示され その時にTextBoxに名前を表示させたいのです。 それがいくつものTextBoxがあります・・・・ どのように変化させれば良いのでしょうか? この記述だと、名前も表示されません!! すいません教えて下さい

関連するQ&A