0

VBAは初めてです。テキストボックスに数値を入力し、スプレッドシートでその数値を検索してから、フォームのテキストボックスで見つかった数値の横の列にデータを返す必要があります。私はこれを行いましたが、私が持っている質問は、番号が見つからない場合に例外を書き込む方法ですか?

4

2 に答える 2

0

そのようです。シート名、範囲名、テキストボックス名などの仮定。説明目的でのみ、その方法を示すために行われます

Sub FindNumber()

Dim myNum

myNum = TextBox1.Value

Dim rng as Range

Set rng = Sheets(1).Range("A1:A100").Find(myNum,lookat:xlWhole)

If Not rng is Nothing Then

    '[Rest of Code]

Else

   Msgbox myNum & "not found in Range"

End If

End Sub
于 2012-12-10T19:34:54.443 に答える
0

You can do this with a formula. Let's assume your number is in A1 and your list of numbers is in column D. You want the text in column E if you find the number in A1 within the list in Column D.

Normally you would just use VLOOKUP().

=VLOOKUP(A1,D:E,2,FALSE)

You can add a simple IF statement and ISERROR() to check if it succeeded in finding the number or not. Normally Excel will return "#N/A" if it was an error, but let's assume you want a message.

=IF(ISERROR(VLOOKUP(A1,D:E,2,FALSE)),"ERROR",VLOOKUP(A1,D:E,2,FALSE))
于 2012-12-13T08:03:30.517 に答える