Excelシート「LB Rack」の範囲B2:B200の値(「タグ」)を検索するVBAマクロにサブルーチンを追加します。 タグが見つかった場合は、別のサブ "InsertSVblock"を実行します。 タグが見つからない場合は、Msgboxメッセージを出力し、別のシートを検索するサブ "CheckforLBmatch(タグ)"を実行します。VBA sub to search Excel
私の方法は、それはポイントまで働いている範囲でVLOOKUPを行うことで、エラー1004
をチェック - それは、一致が見つからない場合は、「エラーメッセージ、および実行を出力CheckforLBmatch(タグ) "しかし、一致が見つかった場合、どのようにして "InsertSVblock"を実行することができますか? これを行うには良い方法がありますか?
Public Sub CheckforLBmatch(tag)
Dim xlApp As excel.Application
Dim xlbook As excel.Workbook
Dim xlSht As excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlbook = GetObject("C:\07509\LB_RACKTMC.xlsx")
Set xlSht = xlbook.Sheets("LB RACK")
Set LBrng = xlSht.Range("B2:B200")
On Error GoTo ErrorHandler
Debug.Print xlApp.WorksheetFunction.VLookup(tag, LBrng, 3, False)
Exit Sub
ErrorHandler:
If Err.Number = 1004 Then
MsgBox "No SV component in LB Rack for " & tag
Err.Clear
CheckforET200match (tag)
End If
Resume Next
End Sub
[ここ](http://www.ozgrid.com:あなたのコードに基づいて、私はあなたが別のOfficeアプリケーションからこのサブを呼び出していると、あなたがオブジェクトライブラリをExcelへの参照を設定していると仮定しています/VBA/find-method.htm)はfindを使う上での良いリソースです。何かが見つかったかどうかを調べる方法についてのケースを経る。 – gtwebb