2017-11-16 11 views
0

私は式R1C1 IF複数の条件

アプリケーション定義またはオブジェクト定義のエラーとして、間違ったエラーを取得していますどこか分からないのコードを実行することができません。 :私はRCが[-9]列が列にXそれぞれのセルは、「進歩」としての値を取得しても 私のコードがある同じ列にVLOOKUPを実行する必要がある場合、任意の負の値を持っている場合のようなコードが必要

Sub Customer() 

Dim lastrow As Long 
Dim lastrow_v As Long 
Dim Cus As Worksheet 
Dim Ven As Worksheet 

Set Cus = ActiveWorkbook.Worksheets("Customer") 
Set Ven = ActiveWorkbook.Worksheets("Vendor") 
lastrow = Cus.Range("A" & Rows.Count).End(xlUp).Row 
lastrow_v = Ven.Range("A" & Rows.Count).End(xlUp).Row 

Cus.Range("X3:X" & lastrow).FormulaR1C1 = "=IF(RC[-9]<1,""Advances"",IF(VLOOKUP(RC[-1],'Customer'!C46:C47,2,0))" 

end sub 
+1

数式内のカッコの開閉をカウントしてください!また、2番目の「IF」は不完全です。式(RC [-1]、 'Customer'!)C46:C47(C [X] 、2,0)) ""は意味していますか? –

+0

IFを削除してみましたが、進行中のみを除くすべての列に対して#N/Aエラーが発生しました。 –

+0

お客様!$ C $ 46:$ C $ 47,2戻す列は2つありません。ルックアップ列を賢明に拡張する必要があります。 Customer!$ C $ 46:$ D $ 47 – QHarr

答えて

0

構文ではIFの真偽条件が不足しています。範囲には検索のための修正が必要です。

この:

Cus.Range("X3:X" & lastrow).FormulaR1C1 = "=IF(RC[-9]<1,""Advances"",IF(VLOOKUP(RC[-1],'Customer'!C46:C47,2,0))" 

は、より多くのようにする必要があります:

Cus.Range("X3:X" & lastrow).FormulaR1C1 = "=IF(RC[-9]<1,""Advances"",IF(VLOOKUP(RC[-1],Customer!C46:C47,2,0),,))" 

あなたはあなたの本当の、偽の戻り値を入力する必要があります。

+0

すべてのセルで#N/Aエラーを取得するコードを更新すると、進歩を見ることができますが、vlookupのパートが動作していません。 –

+0

コメントをもっと表示する – QHarr