将公式应用于所有使用的范围
Apply Formula To All Used Range
我得到一个
Type mismatch
每当我尝试 运行 这种语法时出错。基本上我想要做的就是将公式应用于整个使用范围的 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
是一个 xlA1 语法;不是 xlR1C1 语法。使用 RC[3]
为 D2 提供关系地址或使用 .Formula
和 xlA1 语法。您还需要在带引号的字符串中加倍引号。
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(,)
与 ""
相同。
我得到一个
Type mismatch
每当我尝试 运行 这种语法时出错。基本上我想要做的就是将公式应用于整个使用范围的 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
是一个 xlA1 语法;不是 xlR1C1 语法。使用 RC[3]
为 D2 提供关系地址或使用 .Formula
和 xlA1 语法。您还需要在带引号的字符串中加倍引号。
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(,)
与 ""
相同。