使用宏粘贴公式的双引号问题

时间:2017-09-20 18:03:37

标签: excel-vba vba excel

我正在尝试为工作项目编写宏,并遇到了一个问题。

我的目标是将一个公式粘贴到单元格B2中并将excel填充到最后一行,其中包含任何内容,引用A列。我想要粘贴的是:

=IFERROR(LEFT(A2,FIND(" ",A2)-1),A2)

公式正在查找单元格A2中的第一个空格字符(我使用""表示空格)并将所有公式输入的单元格中的所有内容粘贴到单元格的左侧然后我把它填满了。到目前为止,这是我的代码:

Range("B2:B" & Cells(Rows.Count, "A").End(xlUp).Row).Formula = "=IFERROR(LEFT(A2,FIND(" ",A2)-1),A2)"

我认为excel认为我在FIND函数的第一个双引号后结束公式。

我在网上看了一下,发现有人说使用& CHR(34)强制excel将双引号解释为一个字符,但我认为这只适用于字符串。

有谁知道如何避免这个双引号问题?

由于

1 个答案:

答案 0 :(得分:2)

在VBA中,您需要将字符串

中的引号加倍
Range("B2:B" & Cells(Rows.Count, "A").End(xlUp).Row).Formula = "=IFERROR(LEFT(A2,FIND("" "",A2)-1),A2)"