将公式应用于所有使用的范围

我正在得到一个

types不匹配

每当我尝试运行这个语法错误。 基本上我想要做的是将公式应用到整个使用范围的列A中。 我应该改变什么,以便按照要求执行?

Dim wSheet As Worksheet: Set wSheet = Sheets("Master") Dim lr As Long: lr = wSheet.Cells(wSheet.Rows.Count, "A").End(xlUp).Row Dim form form = "=SUBSTITUTE(TRIM(D2),"-","")" With w.sheet .Range("A2:A" & lr).FormulaR1C1 = form End With 

D2是xA1联合体; 不是xlR1C1语法。 使用RC[3]为D2提供关系地址,或者使用带有xlA1语法的.Formula 。 您还需要在报价string中加倍报价。

 With wSheet lr = .Cells(.Rows.Count, "D").End(xlUp).Row form = "=SUBSTITUTE(TRIM(D2),"" - "", TEXT(,))" .Range("A2:A" & lr).Formula = form form = "=SUBSTITUTE(TRIM(RC[3]),"" - "", TEXT(,))" .Range("A2:A" & lr).FormulaR1C1 = form End With 

顺便说一句, TEXT(,)""是一样的。