2017-08-08 27 views
1

私はコードのこの部分を実行しようとしています。リストボックスに正しいvlookupの結果が表示されない

Do While ws2.Cells(i, "A").Value <> Empty 
    arr2(k, j) = ws2.Cells(i, "A").Value 
    arr2(k, j + 1) = Application.VLookup(ws2.Cells(i, "A").Value, ws.Range("B:K"), 2, False) 
    formula = ("VLOOKUP($A" & i & "&" & User.TextBox1.Value & ", CHOOSE({1,2}, 'DATA'!$B$4:$B$7669&'DATA'!$D$4:$D$7669,'DATA'!$E$4:$E$7669),2,0)") 
    q = CStr(Evaluate(formula)) 
    arr2(k, j + 2) = q 
    k = k + 1 
    i = i + 1 
Loop 

理由はわかりませんが、変更を加えずに結果が異なることがあります。 vlookup値にエラーが表示されることもありますが、正しい番号が表示されることもあります。この問題を解決するにはどうすればよいですか?

答えて

0

評価を実行するシートを指定していません。

したがって、$A" & i & ..はアクティブシート上に表示されています。

q = CStr(ws2.Evaluate(formula)) 

変更

q = CStr(Evaluate(formula)) 

関連する問題