首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Excel VBA插入公式

使用Excel VBA插入公式
EN

Stack Overflow用户
提问于 2013-03-20 09:10:52
回答 2查看 7.6K关注 0票数 0

我需要在使用vba编码时插入一个公式。

目前这行代码是

代码语言:javascript
复制
=IF(
    AND(
        Compliance="No",
        OR(
            Delivery <> "",
            C31 <> ""
        )
    ),
    "Please Delete Compliance Data",
    IF(
        AND(
            E11="",
            E13="",
            E23="",
            E25="",
            E26="",
            E28="",
            E30="",
            E31=""),
        VLOOKUP(C15,'Extrapolated RV Calculator'!B:S,18,0),
        "Please complete form / SC request"
    )
)"

它似乎在代码中的文本部分出错。

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2013-03-20 20:27:37

在VBA中,有四种在字符串内使用引号的方法:

  • 将"“替换为Chr$(34)。34是表示引号的ASCII码,请使用String(2,Chr$(34))生成双引号,并对每个双引号使用两个双引号(per Tim's comment)
  • Replace

双引号使用不同的方法,如用于工作表函数的ISBLANK。

这些都不是更好的。我通常使用两个双引号来转义它们。但有时我得到的引号太多,很难阅读和维护,所以我将使用不同的方法。下面是一个例子:

代码语言:javascript
复制
Dim aFormula(1 To 5) As String

aFormula(1) = "=IF(AND(Compliance=""No"",OR(Delivery<>" & String(2, Chr$(34))
aFormula(2) = ",C31<>" & String(2, Chr$(34)) & ") ),"
aFormula(3) = Chr$(34) & "Please Delete Compliance Data" & Chr$(34)
aFormula(4) = ",IF(AND(ISBLANK(E11),ISBLANK(E13),ISBLANK(E23),ISBLANK(E25),ISBLANK(E26),ISBLANK(E28),ISBLANK(E30),ISBLANK(E31)),"
aFormula(5) = "VLOOKUP(C15,'Extrapolated RV Calculator'!B:S,18,0),""Please complete form / SC request""))"

Sheet1.Range("R13").Formula = Join(aFormula, vbNullString)
票数 2
EN

Stack Overflow用户

发布于 2013-03-20 17:24:27

为了增强您将来的能力,我强烈建议您在您还不熟悉的VBA代码中使用Excel中的功能时,执行以下操作。

转到开发人员菜单,然后按记录宏按钮。

现在在单元格中填写公式,按delete键清除单元格内容,然后进入单元格并删除所有字符并按enter键清除单元格内容。

现在停止宏。并转到VBA窗口。看看代码是如何构造的来完成这些事情的。

当你想做其他事情的时候,也可以应用这个方法来获得你想要的结果,而不需要在互联网上浏览很长时间!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15513529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档