Как изменить код для вставки формулы в каждый столбец каждой седьмой строки? - PullRequest
0 голосов
/ 22 марта 2019

Я создал приведенный ниже код, чтобы он мог вставлять формулу в каждую 7-ю строку в столбце AK до последней пустой ячейки в столбце D, и он работает, как и ожидалось, однако мне нужно выполнить то же действие, но для следующих 30 столбцов, чтобы право (от АК до БО).

Подскажите, пожалуйста, как я могу изменить этот код? Кроме того, я думаю, что что-то не так с строкой кода, определяющей LastRow: LastRow = .Cells(.Rows.Count, "D").End(xlUp).Row. Это работает, но иногда он вставляет какой-то странный результат в последнюю строку в столбце AJ

Каждый гид действительно ценится.

Заранее спасибо.

  Dim sht As Worksheet
  Set sht = Worksheets("Data")

    With sht
    LastRow = .Cells(.Rows.Count, "D").End(xlUp).Row
    Dim r As Integer

    For r = 8 To LastRow Step 7

       .Cells(r, "AK").Select
        ActiveCell.FormulaR1C1 = _
        "=IF(AND(R[4]C[-32]="""",R[5]C[-32]=""""),R7C[-32]&"","","""")"

    Next
    End With

1 Ответ

0 голосов
/ 22 марта 2019

Я не совсем уверен, что понял, но вы можете изменить приведенный ниже код и попробовать:

Option Explicit

Sub test()

  Dim Row As Long, Column As Long, LastRow As Long

  With ThisWorkbook.Worksheets("Data")

        LastRow = .Cells(.Rows.Count, "D").End(xlUp).Row

        For Row = 8 To LastRow Step 7

            For Column = 37 To 67 Step 30

                .Cells(Row, Column).FormulaR1C1 = "=IF(AND(R[4]C[-32]="""",R[5]C[-32]=""""),R7C[-32]&"","","""")"

            Next Column

        Next Row

    End With

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