スクリプトに何が間違っているのかは分かりませんでした。全く難しくないようですので、ここで答えを見つけることを願っています。Vlookup + Iferror in VBAエラー "1004"
私は2枚のシート(Sheet1とSheet2)を持っていますが、どちらも時間の経過と共に変化するリストです(sheet1からの情報は毎回sheet2で削除されます)。私は、シート1にあるすべての行に対してvlookup関数を実行し、そのエントリがsheet2に存在しない場合は "new"(28番目の列)を返したいとします。
iferrorに関して常に1004エラーが発生するので、コードに何か問題があります。& vlookup機能。
事前のおかげで、
Sub vlookup_iferror()
Dim i As Integer
Dim finalrow As Integer
finalrow = Sheets("Sheet1").Range("A100000").End(xlUp).Row
For i = 2 To finalrow
Cells(i, 28) = Application.IfError(Application.VLookup(Sheets("Sheet1").Range("i, 2"), Sheets("Sheet2").Range("B:B"), 1, False), "New")
Next i
End sub
適切な構文はApplication.WorksheetFunction.IFERROR()などです。このようにしたい理由は、.Range()。Find()を使用するのではなく、もっと長い時間がかかります。 Sheets(1).Cells(Sheets(1).Rows.Count、1).End(xlUp).Rowのように最後の行を動的に見つけることができます。 – Tyeler