dポイントプレゼントキャンペーン実施中!

つい昨日触り始めた大初心者です。。
エクセルシートにて
数値を記した列と、詳細を記した列があります。
ユーザーフォームにて
textboxに数値を入力し、ボタンをクリックすると
検索をして、ユーザーフォーム内のlabelに詳細が表示される、といったvbaを書いているのですが、どうにもうまくいきません。

また、textboxに検索範囲にない数値が入力されたときには
Labelに「なし」と表示させたいのですが、
エラーが出てしまい、その処理もやはりうまく出来ません。

どなたかご教授いただけますでしょうか。

A 回答 (3件)

力業的なところがありますが、参考にしてください。


Labelに表示される詳細が判らなかったので、セルの値を表示するようにしました。

検索する範囲は、A列1行目から空白行までです。
検索値には、ワイルドカードが使用できます。
値が一致したところで終了。そのセルの値をLabel1に表示します。


--------------------------------------------------
Private Sub CommandButton1_Click()
Dim r As Long, Txt As String
 Label1.Caption = "なし"
 Txt = TextBox1.Text
 if Txt ="" Then Exit Sub
 r = 1
 With Worksheets("Sheet1")
  Do Until .Cells(r, 1).Value = ""
   If .Cells(r, 1).Value Like Txt Then
    Label1.Caption = .Cells(r, 1).Value
    Exit Do
   End If
   r = r + 1
  Loop
 End With
End Sub
    • good
    • 1
この回答へのお礼

ありがとうございます。
なるほど、大変参考になりました。

お礼日時:2008/11/24 19:03

昨日VBAを始めた人が、わからないからとすぐ今日ここに質問するなんて。


1通り勉強してから質問すべきだと思う。
丸投げになる恐れも有る。ここはコードを書いてもらう下請けの場所ではないはず。
ーー
(1)本質問はコントロールに関する部分
(2)検索に関する部分
と有ると思うが(2)の方が難しいと思うが、そちらはどのようにしたのでしょう。
(1)はとりあえずMsgBoxの応答(検索条件、内容)を(このほうが簡単なので)使ってやってみて、切り分けて勉強したら。
>labelに詳細が表示される
も普通の使い方ではないと思う。エクセルVBAならフィルタなどによって、シートに出すのが普通では。
    • good
    • 0
この回答へのお礼

おっしゃる通りです。
始めたばかりで混乱のあまり無茶な質問をしてしまいました。
貴重なご意見参考にさせていただきます。
もっと勉強してみます。ありがとうございました。

お礼日時:2008/11/24 19:05

なぜエラーになるかは、ネットを検索すれば沢山の解説があります。


エラーをどのように回避するかも同時に書かれているはずです。

検索用のコードくらいは提示しましょう。
    • good
    • 0

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