我是VBA的新手,需要有关此问题的专家帮助。
我将BBG功能拆分为单元格B1和D1
B1="BDS($C"D1=","PG_REVENUE","PRODUCT_GEO_OVERRIDE=G","number_of_periods=6")"
C2至C6是股票名称
粘贴到单元格时看起来像这样
=BDS($C2,"PG_REVENUE","PRODUCT_GEO_OVERRIDE=G","number_of_periods=6")
作为下面的代码,我想先将公式复制到单元格H11
,然后将10个单元格向右移至单元格R11
,然后再次粘贴公式并重复该过程。
对于单元格H11,我希望公式使用$C2
作为第一个参数,对于R11,我希望将2增加到3,因此第一个参数变为$C3
我的代码允许我水平循环并粘贴公式,但每次移动时均无法增加计数。 (所有单元格都以$C6
作为输入)
如何更改我的代码,以使计数器在向右移动时会增加1?
Sub paste_formula()
Dim cp As Worksheet
Dim x As Integer
Dim y As Integer
Dim t As Integer
Dim m As Range
Set cp = Sheets("Control Panel")
cp.Activate
For t = 8 To 100 Step 10
For x = 2 To cp.Range("C2").End(xlDown).Row
cp.Cells(11, t).Formula = "=" & cp.Range("B1") & x & cp.Range("D1")
Next x
Next t
End Sub
我想要
在单元格H11
,=BDS($C2,"PG_REVENUE","PRODUCT_GEO_OVERRIDE=G","number_of_periods=6")
在单元格R11
,=BDS($C3,"PG_REVENUE","PRODUCT_GEO_OVERRIDE=G","number_of_periods=6")
在单元格AB11
,=BDS($C4,"PG_REVENUE","PRODUCT_GEO_OVERRIDE=G","number_of_periods=6")
等