|
一発解決、すばらしい。うーんワークシート上では
検索文字の入るセル指定して何ともなくできるのですが
VBAでは、数値なのか文字なのか曖昧すぎてstring変数では
荷が重すぎたのですね。明快な回答ありがとう御座いました。
≦(._.)≧≦(._.)≧
−−−−−−−−−−−−−−−−−−−−−−−−−−−−
▼ichinose さん:
>▼tatuya さん:
>こんばんは。
>
>
>>FormのComboエラー番号の値が変わったときに
>>その値を利用し範囲名のエラー内容から
>>Vlookupを使いエラー番号に対応するエラー内容を
>>抜き出し、FormのText原因.Textに自動転記したいと
>>思うのですが2.の問題箇所で以下のエラーが出ます。
>>対処法をお教え下さい。
>>
>>『1004 Worksheetfunction クラスのVLookUpプロパティを
>>所得できません』
>>
>>1.範囲名 エラー内容のシート−−−−−−−−−
>>エラー番号 エラー内容
>>水不足 本体に浴水が無い
>>H℃ 本体に50℃以上の浴水を吸い込んだ
>>5500 UVランプが寿命を超えた(約3.5年)
>>5517 運転停止中にUVランプの電気センサが動いた
>>5520 ヒーターのサーモスタットが繰り返し動作した
>>5521 UVランプのコネクタ接続不良
>>5522 UVランプの接続不良
>>−−−−−−−−−−−−−−−−−−−−−−−
>>
>>2.−−−−−−−−−−−−−−−−−−−−−−−
>>Private Sub Comboエラー番号_Change()
>> Dim MyRange As Range
>> Dim Result As String
> dim fvalue as variant
>> Set MyRange = Worksheets("エラー項目").Range("エラー内容")
>' 本来は、この「エラー内容」という範囲名のセル範囲も記述して下さい
>' この「エラー内容」という範囲名に間違いがないとすると・・
>' セル範囲の書式設定が問題なのだと思います。
>
>> Result = "#N/A!"
>> On Error Resume Next
> with Comboエラー番号
> fvalue=iif(isnumeric(.value),val(.value),.value)
> Result = Application.WorksheetFunction.VLookup(fvalue, MyRange, 2, False)
> end with
>> MsgBox (Err.Number & " " & Err.Description)
>> On Error GoTo 0
>> Text原因.Text = Result
>>End Sub
>>−−−−−−−−−−−−−−−−−−−−−−−−−−−−
>これで試してみて下さい
|
|