Excel VBA语法错误

时间:2017-11-07 14:32:42

标签: excel-vba vba excel

我已经在VBA中创建了一个简单的脚本来执行指定的公式并将其一直应用到列D. 当我运行它时,我得到运行时错误13类型不匹配。 我通过用简单的1 + 1替换公式来缩小实际的公式部分,然后它工作正常。有什么建议吗?

类型不匹配错误:

Sub FillFormula()
Range("D2").Formula = "=SUBSTITUTE(D2;" - ";"")"
Range("D2", "D" & Cells(Rows.Count, 1).End(xlUp).Row).FillDown
End Sub

适用于:

Sub FillFormula()
Range("D2").Formula = "=1+1"
Range("D2", "D" & Cells(Rows.Count, 1).End(xlUp).Row).FillDown
End Sub

2 个答案:

答案 0 :(得分:1)

  • 按照您希望的方式在D2上编写Excel公式,并确保它在Excel中有效。
  • 选择D2并运行以下命令:
Public Sub PrintMeUsefulFormula()

    Dim strFormula  As String
    Dim strParenth  As String

    strParenth = """"

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

    strFormula = strParenth & strFormula & strParenth
    Debug.Print strFormula

End Sub

使用即时窗口中显示的内容。它应该工作。 I have been using it quite a lot.

答案 1 :(得分:0)

感谢所有人。 使用过的每个人的建议,并在任何时候使用它。 最终公式:

Sub FillFormula()
Range("F2").Formula = "=SUBSTITUTE(D2,""-"","""")"
Range("F2", "F" & Cells(Rows.Count, 1).End(xlUp).Row).FillDown
End Sub