2017-10-09 6 views
-1

vlookupsでマクロを作成しています。しかし、今は列Jの数式に別のタイプのvlookupを追加する必要があります。初期のvlookupが存在しない場合は、別の値をvlookupします。初期VLOOKUPは初期値がない場合のVlookupの代替値

With Range("J2:J" & LastRow) 
.Formula = "=IF(ISERROR(VLOOKUP(A2&""B2"",MARM!A:G,7,0)),"""",IF(VLOOKUP(A2&""B2"",MARM!A:G,7,0)=0,"""",VLOOKUP(A2&""B2"",MARM!A:G,7,0)))" 
.Value = .Value 
End With 

であると私はB2の結末とVLOOKUPは、P2のエンディングでVLOOKUP、その後、存在しない場合は、だから、

VLOOKUP(A2&""P2"",MARM!A:G,7,0) 

の代替 VLOOKUPを提供したいです。

答えて

2

B2に基づくVLOOKUPでエラーが返された場合は代替ルックアップを使用しますか?

もしそうなら、式は既にB2に基づくVLOOKUPがエラーを返し、結果としてnullstringを返すかどうかをテストします。

だから、あなたの代わりVLOOKUPでnullstring """""を置き換える:私は交換する必要があります

IFERROR(VLOOKUP(A2&""P2"",MARM!A:G,7,0),"""") 
+0

は「」「これは、2つの」..あなたの答えのために非常に感謝? –

+0

最初のものは···B2関数のVLOOKUPがエラーを返すかどうかをテストしたIF関数のIF TRUEセクションのものです。最初にスプレッドシートの式を更新して、VBAを更新する前に理解していることを確認し、VBAを更新する前に正常に機能していることを確認する方が簡単です。 – Michael

+0

あなたが提案した解決策はうまく動作しますが、エラーがあればセルを空のままにすることはできません。このように、2番目のvlookupもエラーである場合、セルにはN/Aまたは0が表示されるため、エラーセルを空のセルに置き換えることができます。あなたはそれが可能だと思いますか? –

関連する問題