Я хотел бы создать формулу между столбцами и остановить ее, когда она дойдет до последнего столбца, который я определил. Вот код:Loop Formula Across Columns
Sub LoopAcrossCols()
Dim LastCol As Integer
Worksheets("Sheet1").Activate
LastCol = Cells(1, Columns.Count).End(xlToLeft).Column
Column = 3
Do
Cells(2, Column).Formula = "=B2+C3"
Row = Row + 1
Loop Until LasCol
End Sub
Просто чтобы быть ясно, формула будет меняться, так как петля идет от колонки к колонке. Я просто не знаю, как отформатировать "=B2+C3"
, чтобы добиться этого. Я открыт для любого другого более эффективного процесса циклирования или способа сделать любую часть кода более эффективной. Кроме того, я не уверен, что «Loop Until LasCol
» является допустимым концом цикла. Буду признателен за любую оказанную помощь.
С уважением,
Большое спасибо @ Jeeped, это сработало. Мне было интересно, можете ли вы объяснить «= СУММ (RC [-1], R [1] C)»? Я никогда не использовал нотацию R1C1. Кроме того, для примера, если циклические строки, формула может быть отформатирована следующим образом: «Ячейки (строка, 3) .Formula =« = A »и строка &« * B »и строка». Может ли этот формат (несколько измененный, конечно) использоваться при циклировании по строкам вместо нотации R1C1? – user3242245
@ user3242245 - Стиль R1C1 может упростить создание формулы с реляционными адресами в VBA. RC [-1] означает «любая строка, в которой вы сейчас находитесь × один столбец слева», поэтому, если вы начинаете с C2, вы будете ссылаться на B2. R [1] C - одна строка вниз × любой столбец, на котором вы находитесь, поэтому C3. Вы также можете добавить все формулы сразу, если вы укажете диапазон. Это быстрее, чем цикл. Я отредактировал свой ответ и добавил альтернативный метод. – Jeeped