2017-03-23 7 views
0

私はvlookupを実行したいです。失敗した場合は、ルックアップ値を1つ増やしてから、再度vlookupを実行します。 vlookupが成功するまでこのプロセスを継続したいと思います。エラーがなくなるまでvlookupを実行

どうすればいいですか?

私はいくつかのループとエラー処理を試してみましたが、私はマクロには新しいので、まだ動作するものはありません。

+0

サンプルデータがありますか?これを行うより良い方法がある可能性が高い – CallumDA

+0

データと同様に、コードを入力してください。 –

+0

ルックアップ値の列は、日付が日付順に並び、ランダムな日付が欠落しています。 (質問を単純化するために、増分参照値を1つ使用していました)。 – user7758051

答えて

0

これはおそらくこのようなものです。それが正常に表示されないだろうどこ私はStep 1を追加しました

dim findThis as long, maxThis as long, var as variant, result as variant 

with worksheets("MyWorksheet") 
    maxThis = application.max(.columns("A")) 
    for findThis = (Date - 100) to maxThis step 1 
     var = application.match(findthis, .columns("A"), 0) 
     if not iserror(var) then exit for 
    next findthis 

    if findthis <= maxthis then 
     result = application.index(.columns("Z"), var) 
     'alternate 
     result = .Cells(var, "Z").value 

     debug.print result 
    end if 

end with 

は(これがデフォルトです)ので、あなたは週ごとの週を見たいと思った場合は、増分を変更する場所を確認できます。

関連する問題