【问题标题】:VBA Formula R1C1 CodeVBA公式R1C1代码
【发布时间】:2017-09-19 16:56:08
【问题描述】:

我正在尝试使用下面的代码将公式放在一个范围内,但它会引发错误。有人可以帮忙吗?

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

它以红色突出显示。我以前用过R1C1,没有遇到过这样的问题。请帮忙?!

【问题讨论】:

  • 你必须在引号内转义你的双引号
  • 我该怎么做?
  • ""(两个双引号)转义双引号。
  • 您还混合了 A1R1C1 引用。使用一个而不是两个

标签: excel excel-formula vba


【解决方案1】:

你没有逃脱你的双引号。比如:

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

【讨论】:

    【解决方案2】:

    执行以下操作:

    • 确保 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("

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-09
      • 1970-01-01
      • 1970-01-01
      • 2021-02-03
      • 1970-01-01
      相关资源
      最近更新 更多