使用VBA在一个单元格中放置多个公式

时间:2016-06-16 23:11:11

标签: vba excel-vba excel-formula bloomberg excel

我正在研究一个宏来在一个单元格中放置多个公式。在这种情况下,它将3个Bloomberg公式合并为一个单元格。在手动复制或键入时,该公式在Excel中有效,但在VBA模块中键入时则不能,在此处创建错误(编译错误:预期:语句结束)并突出显示“rtg_mdy_sen_unsecured_debt”。我认为问题是在公式中使用引号,但我找不到任何有关如何解决它的信息。

在Excel中有效的公式(手动输入或复制到单元格中时)如下:
    var byteArray = new Uint8Array(hexdata.match(/.{2}/g) .map(e => parseInt(e, 16))); var blob = new Blob([byteArray], {type: "application/octet-stream"});

尝试以下格式时,它在VBA中不起作用:

=BDP($O4,"rtg_mdy_sen_unsecured_debt")&"/"&BDP($O4,"rtg_sp_lt_lc_issuer_credit")&"/"&BDP($O4,"rtg_fitch_sen_unsecured")

更简单的Bloomberg公式工作得很好:($ O4引用包含“BA Equity”的单元格.Q2包含“industry_sector”)

Cells(4, 21).Value = "=BDP($O4,"rtg_mdy_sen_unsecured_debt")&"/"&BDP($O4,"rtg_sp_lt_lc_issuer_credit")&"/"&BDP($O4,"rtg_fitch_sen_unsecured")"

期望的最终状态是Cell(4,21)将显示三家主要评级机构的波音信用评级,如:A2 / A / A

1 个答案:

答案 0 :(得分:2)

创建包含"个字符的VBA字符串时,您必须使用其他"

分隔它们

这适用于有问题的字符串

Cells(4, 21).Value = _
"=BDP($O4,""rtg_mdy_sen_unsecured_debt"")&""/""&BDP($O4,""rtg_sp_lt_lc_issuer_credit"")&""/""&BDP($O4,""rtg_fitch_sen_unsecured"")"