2017-09-19 7 views
0

以下のコードを使用して数式を範囲に入れようとしていますが、エラーが発生しています。助けてもらえますか?VBA式R1C1コード

shtRpt. Range("rng"). FormulaR1C1 = " =OFFSET(INDIRECT(" Sheet1! A1"), Match(RC[30],INDIRECT("Sheet1!A:A),0)-1,8)" 

赤で強調表示されています。私は前にR1C1を使用しており、このような問題を抱えていません。助けてください?!

+0

引用符で二重引用符をエスケープする必要があります – serakfalcon

+0

どうすればよいですか? –

+0

'' ''(2つの二重引用符)は二重引用符をエスケープします。 – serakfalcon

答えて

0

二重引用符をエスケープしていません。ような何か:

shtRpt. Range("rng"). FormulaR1C1 = " =OFFSET(INDIRECT("" Sheet1! A1""), Match(RC[30],INDIRECT(""Sheet1!A:A""),0)-1,8)" 
0

は、次の操作を行います

  • Excelの数式が動作することを確認してください。
  • 数式を含むセルを選択します。
  • 以下のコードを実行してください。
  • 直接のウィンドウを見て、あなたが持っているものと値を比較してください。
  • 値を調整します。一般的に

Public Sub PrintMeUsefulFormula() 

    Dim strFormula As String 
    Dim strParenth As String 

    strParenth = """" 

    strFormula = Selection.FormulaR1C1 
    strFormula = Replace(strFormula, """", """""") 

    strFormula = strParenth & strFormula & strParenth 
    Debug.Print strFormula 

End Sub 

、あなたの式を見て、あなたはここで" =OFFSET(INDIRECT("を一つの追加のスペースを持っています。このようにする必要があります"=OFFSET(INDIRECT("