在vba中转换公式

时间:2018-03-02 15:04:06

标签: excel vba excel-vba excel-formula

请帮我采用以下公式为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

1 个答案:

答案 0 :(得分:0)

转到VBEditor,显示立即窗口(如果您还没有看到,则按Ctrl + G)。在电子表格中选择带公式的单元格。输入立即:

?Selection.formula

你明白了。如果你想在代码中使用它,你需要加倍“s。或者你可以立即输入:

?Replace(cl.Formula, """", """""")

您将获得带有双引号的公式。