プロが教えるわが家の防犯対策術!

入力フォームに、検索ボタンを付けたいと思っています。
現状は入力フォームを使って、データーを入力しているだけです。

tex1に028
tex2に019
tex3に001
と入力すると、データシートのA列には 028-019-001 と入力されます。
tex4、tex5、tex6まであり、これらはデータシートのB、C、D列にそれぞれ入力されます。

tex1~3を入力し、検索ボタンを押すと、
一致するものがあればtex4~6に書きだされるようにしたいと考えています。

tex1のみがA列に入力され、それを検索するなら分かるのですが、
tex1~3に入力された数値をハイフンでつなげたものを検索する方法が分かりません。

Findを使って下記のように考えたのですが、型が一致しませんと出てしまいます。

Private Sub btn検索_Click()
Dim i As Long
With Sheets("データ")
.Range("A:A").Find(What:="Me.tex1 & " - " & Me.tex2 & " - " & Me.tex3", LookAt:=xlWhole).Select
i = Selection.Row
Me.tex4.Text = .Cells(i, 2)
   Me.tex5.Text = .Cells(i, 3)
Me.tex6.Text = .Cells(i, 4)
End With
End Sub

Find以下の書き方が間違ているのかなと思うのですが、初心者なものでよく分かりません。
色々調べてのですが、どこにも同じような検索方法はなく質問しました。
一致するものがない場合の対処は後で追加するつもりですが、
複数のテキストボックスの値をつなげたものを検索する方法が知りたいです。

今回は028-019-001ですが、028-019-002もデータ上に存在するため、
3つとも一致するものを検索する必要があります。

ご教授の程よろしくお願いいたします。

A 回答 (1件)

FindメソッドのWhatパラメータの書き方がおかしいです。

正しくは、こんな感じです。
「一致するものがない場合の対処は後で追加する」とのことなので、今回の回答はここまでとさせていただきます。

What:= Me.tex1 & "-" & Me.tex2 & "-" & Me.tex3
    • good
    • 0
この回答へのお礼

ありがとうございます。
初歩的なミスですね…。
分からないながら、色々と試しながら作っていると、ドツボにはまってしまうことが多々あります。

結局、tex.1~3をA~C列にそれぞれ入力し、3つが一致する場合は、tex4~6に書きだす方法で進めているのですが、最終目的を考えると、-でつなげたものがいいかなと悩み中です。

また、何かありましたらご質問させてください。

ご親切にお答えいただきありがとうございました。

お礼日時:2016/10/01 20:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!