2017-09-19 79 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

'''''(两个双引号)转义双引号。 – 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("