Вставьте ячейки и сдвиньте только ячейки вниз

#vba

Вопрос:

Для каждой ячейки в диапазоне A4:A103, содержащей «ASE», мне нужно, чтобы строка (на самом деле диапазон H:K) сдвигалась вниз столько раз, сколько «ASE: появляется в столбце A.

Проблема в том, что если «ASE» отображается как в последовательном, он смещается вниз каждый раз, когда появляется ASE, и мне нужно будет уменьшать время появления ASE: ASE, ASE, ASE > ASE, ASE, ASE, пустой, пустой, пустой.

Как сейчас, он возвращается: ASE, пустой, ASE, пустой, ASE, пустой …и т. Д.

 Sub t_set()
Dim r As Range
Dim a As Variant
For Each r In Range("A4:A103")
    If r.Value Like "ASE" Then
        Debug.Print True
        a = Split(r.Value, "ASE")
        r.Offset(1, 0).Resize(UBound(a)).EntireRow.Insert Shift:=xlDown
        For i = LBound(a) To UBound(a)
            r.Offset(i, 0).Value = a(i)
        Next i
    End If
Next r

End Sub
 

Комментарии:

1. Если у вас есть код, то включение его в свой пост и точное объяснение того, что происходит не так при его запуске, поможет вам получить ответы (и поможет предотвратить закрытие вашего вопроса).