VBA VLOOKUpについて
すいません
例えば
B1セルに名前があり
Q1セルにIDがあります
そこで
UserFormを開いた時に表示させたい場合
どのような記述にすれば良いのでしょうか??
Dim wbMyBook As Workbook 'このブックをセット
Dim w As Worksheet 'このブックのWシートをセット
Dim vRet As Variant
'使用するブックとシートをセット
Set wbMyBook = Workbooks(ThisWorkbook.Name)
Set wsKanjya = wbMyBook.Worksheets("W")
vRet = WorksheetFunction.VLookup(TextBox1.Text, _
Sheets("w").Range("A:IV"), _
17, _
False)
If vRet = "402-B" Then
w.Cells(lng, 2) = TextBox1.Text
Exit For
End If
Next lng
これでは当然駄目です!!
組み合わせて使うと混乱してしまいます!
記述を教えてください。
No.2ベストアンサー
- 回答日時:
>Fromが表示されその時にTextBoxに名前を表示させたいのです
セルの値をテキストボックスに入れるのは簡単ですが、テキストボックスの数だけしかその処理ができませんよね。
>どのように変化させれば良いのでしょうか?
いくつもの方法がありますが、マクロ作成の目的や貴方が望む動作というのが解らないので何とも言えません。
普通はテキストボックスに入れたデータから検索(今回はVLOOKUP)して、結果を別のテキストボックスに表示するなどの方法をとります。
マクロを見ると、検索値が特定データ(402-B)の場合はテキストボックスの値を任意のセルに入れているようですが・・・。
単に検索して自動記入するだけならフォームやテキストボックスなんて無くても普通にマクロで処理すれば良いと思いますが?
マクロを組む上では、はっきりとした仕様が解らないと曖昧な回答のやりとり終わってしまいますよ。
○○をするためのコード
△■をするためのコード
□○をするためのコード
などと分離して、最終的に組み立てる事を考えてみては?
この回答への補足
何度もありがとうございます。
Fromで表示は一覧できる利点と、DATAを他の人が弄れないようにするためです。
私がしたいのは
Fromで表示させると自動的に
セルの17列(Q)に405-BというIDを検索して
数字を見つけたら
今度は、2列(B)の名前が書かれているところを
TextBoXに転写させ名前を表示させたいです。
そんなことは出来ないのでしょうか?
すいません何度も質問してしまって・・・
No.4
- 回答日時:
No.3です
> そこからFromのTextBoxに写す場合はどのように
> すれば良いのでしょうか??
TextBox1に、Sheet2のB1セルの値を表示するならこんな感じです。
Private Sub UserForm_Initialize()
TextBox1.Value = Sheets("Sheet2").Range("B1").Value
End Sub
No.3
- 回答日時:
表示させる値をシート上に用意しておいた方が良いかと思います。
シートWの適当なセルに↓の式を入れおいてTextBoxはそのセルの値を表示させましょう。
=IF(ISNUMBER(MATCH("405-B",Q:Q,0)),OFFSET(B1,MATCH("405-B",Q:Q,0)-1,0),"")
この回答への補足
回答ありがとうございます!
別のSheetに写しました。
そこからFromのTextBoxに写す場合はどのように
すれば良いのでしょうか??
A B
405-B Aさん
…
このようにしました!
No.1
- 回答日時:
>UserFormを開いた時に表示させたい場合
これだと UserForm_Initialize() イベントになりますが、この状態ではTextBox1.Textが空になっているのでエラーになると思いますよ。
通常はTextBox1のイベント等に記載するのでは?
>これでは当然駄目です!!
何が駄目なのでしょうか?
提示された部分としては問題無く動作していると思いますが?
この回答への補足
ありがとうございます。
Sheet上のボタンをクリックしたら
Fromが表示され
その時にTextBoxに名前を表示させたいのです。
それがいくつものTextBoxがあります・・・・
どのように変化させれば良いのでしょうか?
この記述だと、名前も表示されません!!
すいません教えて下さい
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
access2019の起動が遅い
-
Microsoft365にAccessってあり...
-
実行時エラー3131 FROM 句の構...
-
ACCESS VBA でのエラー解決の根...
-
【世界はデータで出来ている】...
-
Access VBA [リモートサーバー...
-
【Access】Dcount関数の複数条...
-
accessデータを指定したExcel、...
-
Access Error3061 パラメータが...
-
列が255以上のCSVファイルをAcc...
-
Accessでフォームに自動入力し...
-
Accessのクエリで、replace関数...
-
accessでlaccdbファイルが削除...
-
accessのフォームに設置したボ...
-
Access VBA を利用して、フォル...
-
アクセスの更新クエリでカレン...
-
Vba Userformを前面に出すについて
-
Accessのリンクテーブルのパス...
-
Accessのテキストボックスの入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access レポート印刷するときに...
-
Access Error3061 パラメータが...
-
Microsoft365にAccessってあり...
-
Accessのクエリで、replace関数...
-
Accessのリンクテーブルのパス...
-
Access VBA [リモートサーバー...
-
ACCESS VBA でのエラー解決の根...
-
accessデータを指定したExcel、...
-
Accessのスプレッドシートエク...
-
CSVファイルの「0落ち」にVBA
-
【Access】Dcount関数の複数条...
-
Accessのフォーム上のテキスト...
-
Access VBA を利用して、フォル...
-
実行時エラー3131 FROM 句の構...
-
Vba Userformを前面に出すについて
-
Accessでフォームに自動入力し...
-
Accessレポートのチェックボッ...
-
Accessのテキストボックスの入...
-
Access 複数条件検索の設定が上...
-
accessのフォームに設置したボ...
おすすめ情報