Excel VBA公式变量查找数据不起作用

时间:2017-08-13 12:07:25

标签: excel vba excel-formula

我通过vba应用以下公式,它会抛出错误。

Cells(MyRow1 + 4, 3).Formula = "=RIGHT(" & Cells(MyRow1 + 2, 2).Address & ",LEN(" & Cells(MyRow1 + 2, 2).Address & ")-FIND(" & Cells(MyRow1 + 3, 3) & "," & Cells(MyRow1 + 2, 2).Address & ")-2)"

我在单元格中获得的输出是

=RIGHT($B$31,LEN($B$31)-FIND(CA,$B$31)-2)

如果我申请""在Find函数中,它可以工作:

=RIGHT($B$31,LEN($B$31)-FIND("CA",$B$31)-2)

2 个答案:

答案 0 :(得分:1)

要添加额外的",请使用Chr(34)

将您的Formula更改为:

Cells(MyRow1 + 4, 3).Formula = "=RIGHT(" & Cells(MyRow1 + 2, 2).Address & _
                            ",LEN(" & Cells(MyRow1 + 2, 2).Address & ")-FIND(" & Chr(34) & _
                            Cells(MyRow1 + 3, 3) & Chr(34) & "," & Cells(MyRow1 + 2, 2).Address & ")-2)"

答案 1 :(得分:0)

我不完全确定你要对这个公式做什么,但是如果你想在输出中包含引号到单元格,你可以通过使用双引号来简单地转义它们。

... FIND(""" & Cells(MyRow1 + 3, 3) & """," & ...