预期语句结尾VBA错误

时间:2018-07-20 14:00:43

标签: excel vba interpolation bloomberg

我希望你们一切都好!

一个快速但棘手的问题(至少对我而言) 我有一个代码,可以根据日期对值进行插值。基本上,我想将插值值插入工作表“交易”中主工作簿的单元格中。 BInterpol是与计算机中安装的程序一起使用的功能。在函数中,我将日期(D4:D18)链接到值(E4:E18),以下参数是位于另一个工作簿和工作表中的日期,然后线性是插值方法。当我编写下面的代码时,它给了我预期的语句结尾错误,并突出显示了线性。任何想法都需要更改才能生效吗? (我想使公式写在所需的单元格中,以便在那里进行内插)

wb2.Sheets("Deals ").Range("V" & x).Value = "=BInterpol('INTERP'!D4:D18,'INTERP'!E4:E18," & wb1.Sheets("New").Range( "I" & j) & " , " Linear " )"

2 个答案:

答案 0 :(得分:1)

尝试使用.Formula,并将Linear变量与字符串&串联在一起,如注释中所述:

wb2.Sheets("Deals MTL").Range("V" & x).Formula = "=BInterpol('OIS INTERP'!D4:D18,'OIS INTERP'!E4:E18," & wb1.Sheets("NewTrades").Range( "I" & j) & "," & Linear ")"

根据Range("I" & j)的确切含义,您可能会对获取其地址而不是其值感兴趣:

wb2.Sheets("Deals MTL").Range("V" & x).Formula = "=BInterpol('OIS INTERP'!D4:D18,'OIS INTERP'!E4:E18," & _ 
                        wb1.Sheets("NewTrades").Range("I" & j).Address & _
                        "," & Linear ")"

答案 1 :(得分:0)

没关系,明白了!

wb2.Sheets("Deals").Range("V" & x).Value = "=BInterpol('INTERP'!D4:D18,'INTERP'!E4:E18," & wb1.Sheets("New").Range( "I" & j) & " , "**"** Linear **"**" )"

由于某些原因,Linear需要两对“(不知道为什么,但这解决了。