填充然后清除RTD公式

时间:2019-08-23 20:18:03

标签: excel vba rtd

我正在尝试使用经纪人的RTD API拍摄600多种不同的期权报价,但它们在任何一次将我的请求限制为100个。

我将RTD公式粘贴到一个单元格区域中,然后在生成值(范围中的每个单元格均大于0)后删除该公式,如果未生成值,则重新粘贴公式。

Sub FXE_CALLS_RTD()

Range("A10").Formula = "=RTD($J$1,,$A$4&""@""&""smart//OPT/""&$R$3&""/C/""&C10&""/USD"",""ASKDELTA"")" 'CALL DELTA
Range("B10").Formula = "=RTD($J$1,,$A$4&""@""&""smart//OPT/""&$R$3&""/C/""&C10&""/USD"",$D$9)" 'CALL ASK
'-----------------------------------------------------------------------------------------
Range("A11").Formula = "=RTD($J$1,,$A$4&""@""&""smart//OPT/""&$R$3&""/C/""&C11&""/USD"",""ASKDELTA"")" 'CALL DELTA"
Range("B11").Formula = "=RTD($J$1,,$A$4&""@""&""smart//OPT/""&$R$3&""/C/""&C11&""/USD"",""ASK"")" 'CALL ASK
'-----------------------------------------------------------------------------------------
Range("A12").Formula = "=RTD($J$1,,$A$4&""@""&""smart//OPT/""&$R$3&""/C/""&C12&""/USD"",""ASKDELTA"")" 'CALL DELTA
Range("B12").Formula = "=RTD($J$1,,$A$4&""@""&""smart//OPT/""&$R$3&""/C/""&C12&""/USD"",""ASK"")" 'CALL ASK
'-----------------------------------------------------------------------------------------
Range("A13").Formula = "=RTD($J$1,,$A$4&""@""&""smart//OPT/""&$R$3&""/C/""&C13&""/USD"",""ASKDELTA"")" 'CALL DELTA
Range("B13").Formula = "=RTD($J$1,,$A$4&""@""&""smart//OPT/""&$R$3&""/C/""&C13&""/USD"",""ASK"")" 'CALL ASK
'-----------------------------------------------------------------------------------------
Range("A14").Formula = "=RTD($J$1,,$A$4&""@""&""smart//OPT/""&$R$3&""/C/""&C14&""/USD"",""ASKDELTA"")" 'CALL DELTA
Range("B14").Formula = "=RTD($J$1,,$A$4&""@""&""smart//OPT/""&$R$3&""/C/""&C14&""/USD"",""ASK"")" 'CALL ASK
'-----------------------------------------------------------------------------------------
Range("A15").Formula = "=RTD($J$1,,$A$4&""@""&""smart//OPT/""&$R$3&""/C/""&C15&""/USD"",""ASKDELTA"")" 'CALL DELTA
Range("B15").Formula = "=RTD($J$1,,$A$4&""@""&""smart//OPT/""&$R$3&""/C/""&C15&""/USD"",""ASK"")" 'CALL ASK
'-----------------------------------------------------------------------------------------

Call CLEARCELLS
END SUB
SUB CLEARCELLS
Dim rng As Range, r As Range
Set rng = Range("A10:A15")

For Each r In rng
If r.Value > 0 Then
r.Value = “”
End If
Next r
END SUB

代码运行一半,我必须运行两次才能运行。我希望它可以无缝运行。

0 个答案:

没有答案