Вставьте переменную внутри формулы - PullRequest
2 голосов
/ 18 января 2020

У меня есть ячейка, которая содержит следующее:

=$H$10+1&","&B5+I10&","&(2*$D$2+$E$2)/2

Результат этой формулы в следующем формате:

14649,28.25,5.5

Я хочу использовать формулу кода VBA. Я хочу, чтобы число 1 в $H$10+**1**&" было значением i для l oop, а значение I10 в "&B5+I10&" также должно меняться на l oop.

For i=1 to lastrow
.Range("X" & 13+i & "").Formula = "=$H$10+" & i & "" & "," & "B5+I" & i + 10 & "" & "," & "(2*$D$2+$E$2)/2"
Next i

1 Ответ

0 голосов
/ 19 января 2020

Вот код, который можно использовать:

Sub mySub()
    '=$H$10+1&","&B5+I10&","&(2*$D$2+$E$2)/2
    Dim myRange As Range
    Set myRange = Range("H:H").SpecialCells(xlCellTypeLastCell)
    Dim myStr As String
    'A=10 is for assigning first row in H as your data, hope no data upward from row 9 to row 1

    For Baris = 10 To myRange.Row
        On Error Resume Next
        myStr = "=$H$10+" & Baris - 9 & "&"",""&B5+I" & Baris & "&"",""&(2*$D$2+$E$2)/2"
        Range("K" & Baris).Formula = myStr

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