在vba中转换公式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在vba中转换公式相关的知识,希望对你有一定的参考价值。
请帮我采用以下公式来vba格式:
=MID(A2,FIND(CHAR(64),A2)+1,LEN(A2))
和
=IF(ISNUMBER(MATCH(B2,MTLS!B:B,0))=TRUE,"MTLS","NOT MTLS")
我的方法只适用于第一个公式:
With WS1.Range("AP2:AP" & LastRow)
.Formula = "=MID(T2,FIND(CHAR(64),T2)+1,LEN(T2))"
End With
第二个给出“语法错误”。
With WS1.Range("AP2:AP" & LastRow)
.Formula = "=IF(ISNUMBER(MATCH(B2,MTLS!B:B,0))=TRUE,"MTLS","NOT MTLS")"
End With
答案
转到VBEditor,显示立即窗口(如果您还没有看到,则按Ctrl + G)。在电子表格中选择带公式的单元格。输入立即:
?Selection.formula
你明白了如果你想在代码中使用它,你需要加倍“s。或者你可以立即输入:
?Replace(cl.Formula, """", """""")
您将获得带有双引号的公式。
以上是关于在vba中转换公式的主要内容,如果未能解决你的问题,请参考以下文章