Как повторить эту одиночную макрокоманду в каждой строке (например, от строки 2 до строки 500) - PullRequest
0 голосов
/ 13 апреля 2020

Я новое программирование на VBA; на данный момент я создал один макрос для одной строки-столбца; в данном конкретном случае для строки «2» и столбцов «M2: BF2», но мне нужна эта MACRO-команда для запуска следующих 320 строк, и я не знаю, как это сделать. это моя команда:

введите описание изображения здесь

Буду признателен за любые советы или рекомендации,

Лучше для всех,

Jorge

Ответы [ 2 ]

3 голосов
/ 13 апреля 2020

Вложенные для циклов - это путь к go:

Sub test()
    Dim i As Long, j As Long
    For i = 2 To 320
        For j = 14 To 58 Step 2
            If Cells(i, j).Value = 0 Then Cells(i, j).Value = Cells(i, j - 1).Value
        Next j
    Next i
End Sub

См. this для получения информации о циклах в VBA.

0 голосов
/ 13 апреля 2020

Я предлагаю вам сделать это, используя формулу Excel IF (условие, затем другое). Затем, завершив одну строку, вы можете скопировать и вставить одну и ту же формулу во все строки, и у вас есть ответы.

Если вы настаиваете на том, чтобы делать это с помощью VBA, тогда вы должны использовать для l oop.

  For i = 2 to 320
     If Range("N" & i).value = 0 then Range("N" & i).value = Range("M" & i).value
     '.... and so on...
  Next i
...