私はワードドキュメントから文字列を読み込み、Excelシートから対応する値を返すためにvlookupを使用しようとしています。私は、 "subscript outまたはRange"というエラーをvlookup関数で受け取っているようです。Word/Excel Vba vlookup「下付き文字が範囲外です」エラー
これは私が探していたワークシートされています Sample Data
私が持っているコードは次のとおりです。
Sub Autofill()
Dim oExcel As New Excel.Application
Dim testdb As Excel.Workbook
Dim testvar1 As Double
Set testdb = oExcel.Workbooks.Open("k:\SIF\Vibration\Dbase.xlsm")
testvar1 = oExcel.WorksheetFunction.VLookup("Roger", testdb.Sheets("Main").Range("A1:C4"), 2, False)
MsgBox (testvar1)
End Sub
私は無駄に、同様Application.Vlookup機能を使用してみました。同じエラーが発生しました。
これは暗闇の中のショットですが、Excel.ApplicationとしてoExcelを宣言しようとしましたか? は、シートの名前は 'Main'がDbase.xlsmファイルに存在しない場合は、おそらく、このエラーを取得したい セットoExcel =新しいまずExcel.Application – Alex
、TESTDBを設定する前にこれを追加します。おそらく余分なスペースや何かがあるかもしれません。正確さをチェックしてください。私はあなたのコードをエミュレートし、それは大丈夫と思われる。問題になるかもしれないことの1つは、文字列を返すことを期待している場合は、testvar1を 'Double'ではなく' String'に変更することです。 –
あなたの 'Vlookup'がエラーを返すので(あなたの' Vlookup'が見つからないので)、あなたのエラーが発生していると思われます。 'Vlookup'が失敗した場合にエラー処理を追加する必要があります。リンク:http://stackoverflow.com/questions/ 18063214/how-to-error-handle-1004-error-with-worksheetfunction-vlookup –