Простая петля для повторения транспонированной формулы - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь повторить ту же формулу снова для столбца данных, который мне нужно транспонировать.У меня есть макрос, который делает все это один раз.Я пытался создать простой цикл, но я не знаю, как увеличивать диапазоны.

Я пытался выполнить цикл Do while, но безуспешно на увеличивающейся части

Range("D9:F9").Select
Selection.FormulaArray = "=TRANSPOSE(R[6]C[5]:R[8]C[5])"

Таким образом, этот код работает правильно, но мне нужно повторить его, но в следующий раз он должен быть Range D10: F10, а Transpose должен быть R8 C5 R10 C5.Именно с этим приращением у меня проблемы.

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Спасибо за вашу помощь.Я пытался использовать ваш код, но я не могу сделать транспонирование с приращением на 3 ячейки вниз.

Мой код выглядит следующим образом

Dim i As Integer
For i = 2 To 4

Range("A" & i & ":C" & i).Select
Selection.FormulaArray = "=TRANSPOSE(R[2]C[4]:R[4]C[4])"


Next i

End Sub

, и у меня есть данные, перечисленные как:123456

и я хочу это так:1 2 34 5 6

0 голосов
/ 30 января 2019

Попробуйте:

    dim i as Integer
    for i = 1 to 20 'adjust as you need it
        Range("D" & i & ":F" & i).FormulaArray = "=TRANSPOSE(R[" & ?? & "]C[5]:R[" & ?? & "]C[5])"
    next i

Я заменил целое число для вашей транспонированной функции на ??, я не был уверен, какую логику применять.

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