我正在研究一个宏来在一个单元格中放置多个公式。在这种情况下,它将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
答案 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"")"