Как скопировать формулу в разные столбцы в одно и то же время в цикле по списку, чтобы получить разные значения в качестве входных данных формулы? - PullRequest
0 голосов
/ 05 июля 2019

Я новичок в 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")

и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...