2016-04-13 17 views
0

通常のExcel式をR1C1形式に適用して苦労して、VBAで数式をループすることができます。問題は、R1C1表記を使用して他のシートの列を参照する方法です。したがって、次の公式では:R1C1とA1の表記を混ぜる

ell.Offset(0, 5).FormulaR1C1 = "=IF(LEN(R[]C[-2])>0,(R[]C[-2])*VLOOKUP([R[]C[1]),Core!A:C,3,FALSE)/_ 
VLOOKUP(R[]C[-1],Core!A:C,3,FALSE),R[]C[4])" 

Core!A:CをR1C1形式にするにはどうすればよいですか?私はあなたが2つのフォーマットを混在させることができないことを知っていますが、私はこれについての構文を知らないのでしょうか?どんな助けもありがとう!

EDIT:

Sub Expo_dos_Formulas() 

'=============================================================================== 
Sheets("Data_Sheet").Activate 

For Each cell In Range("G5:G500") 
    If cell <> "Error" Then 
     cell.Offset(0, 5).FormulaR1C1 = "=IF(LEN(R[]C[-2])>0,_ 
(R[]C[-2])*VLOOKUP([R[]C[1]),Core!RC1:RC3,3,FALSE)/VLOOKUP(R[]C[-1],_ 
Core!RC1:RC3,3,FALSE),R[]C[4])" 
    End If 
Next 
'=============================================================================== 

End Sub 

答えて

3

A:Cの代わりにC1:C3を入れ:R1C1使用する場合

ell.Offset(0, 5).FormulaR1C1 = "=IF(LEN(RC[-2])>0,(RC[-2])*VLOOKUP(RC[1],Core!C1:C3,3,FALSE)/_ 
VLOOKUP(RC[-1],Core!C1:C3,3,FALSE),RC[4])" 

  1. []相対ない絶対的な基準を示すであろう。例えば、RC[-1]は、左に直接に細胞を指す。

  2. 絶対参照が必要な場合は、[]を使用せず、行/列番号を参照します。たとえば、R[1]C3は、参照されている列Cの直下の行を返します。参照先のセルがA3の場合は、$C4を返します。

  3. 完全な列または完全な行が必要な場合は、RまたはCを破棄します。例えばC1:C3$A:$CR[1]:R[2]が直接参照セル

+0

おかげスコット以下の2つの完全な行の相対参照を返します返します、私はで、その後は、基本セルのループが、午前中に式を置くことを差し込まれました「アプリケーション定義またはオブジェクト定義エラー」を取得しています。なぜあなたは助けてくれますか?私はちょうどquesitonにコードを追加しました – IIJHFII

+0

これは異なっています、あなたの元の公式にはタイプミスがありました。公式に余分な ')'がありました。私が今投稿したものを試してみてください。 –

+0

また私は私のコメントに答えの再投稿をしたので、悪いアドバイスをしました。 –

関連する問題