【发布时间】:2016-03-22 21:42:48
【问题描述】:
有没有办法跳过将 R1C1 公式插入范围但只插入公式结果的步骤?我现在拥有的:
newColumn.FormulaR1C1 = "=MID(RC[-17],14,3)"
newColumn.Value = newColumn.Value
我想要类似的东西:
newColumn.Value = newColumn.FormulaR1C1 = "=MID(RC[-17],14,3)"
【问题讨论】:
有没有办法跳过将 R1C1 公式插入范围但只插入公式结果的步骤?我现在拥有的:
newColumn.FormulaR1C1 = "=MID(RC[-17],14,3)"
newColumn.Value = newColumn.Value
我想要类似的东西:
newColumn.Value = newColumn.FormulaR1C1 = "=MID(RC[-17],14,3)"
【问题讨论】:
newColumn.Value = evaluate("MID(RC[-17],14,3)")
【讨论】:
#VALUE! 错误
R1C1公式转换为A1类型的方法如下:
Function MakeA1(R1C1Formula As String) As String
MakeA1 = Application.ConvertFormula( _
Formula:=R1C1Formula, _
fromReferenceStyle:=xlR1C1, _
toReferenceStyle:=xlA1, _
ToAbsolute:=xlAbsolute)
End Function
那么你可以这样使用它:
Sub test()
str1 = MakeA1("MID(RC[-17],1,3)")
Range("B2").Value = Evaluate(str1)
End Sub
【讨论】: