Как вставить несколько строк на основе критериев в столбце в верхней части таблицы - PullRequest
1 голос
/ 16 апреля 2020

У меня есть макрос, который уже вставил таблицу (A3: L3) и отфильтровал значение столбца C: от наибольшего к наименьшему.

Я хотел бы вставить функцию If / Then. Если значение в столбце C <= 1, вставьте 3 строки ниже этой ячейки. </p>

Но мне нужна только формула для вставки для первого вхождения, начинающегося сверху. Разделить значения> = 1 (3 строки) <= 1 </p>

(Столбцы таблицы всегда будут A3: L3, но конечные данные будут неизвестны)

Пример: 32,6 10,2 7,5 4,7 3.1 2.0 1.6 1.1 ...-> Вставить 3 строки здесь 0.8 0.7

У меня сейчас есть:

    Dim wb As Workbook
    Dim ws As Worksheet
    Dim LastRow As Long
    Dim i As Long

    Set ws = Worksheets("Report1")
    ws.Activate

    LastRow = Range("C" & Rows.Count).End(xlUp).Row

For i = 2 To LastRow
    If ws.Cells(i, 3).Value <= 1 Then
            .Offset(1, 0).Resize(3, 0).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Exit For
    End If

Next i

1 Ответ

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

Вам просто не хватает квалификатора диапазона в вашем операторе действия.

For i = 2 To LastRow
    If ws.Cells(i, 3).Value <= 1 Then
        ws.Cells(i, 4).Offset(1).Resize(3).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Exit For
    End If
Next i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...