Я хочу, чтобы мой код VBA вставлял две пустые строки всякий раз, когда значение ячейки в столбце d изменяется. И так как я использовал некоторые автофильтры, я хочу, чтобы эта функция выполнялась только для видимых ячеек.

У меня есть это:

Dim GCell As Range

SearchText = ""
Set GCell = Cells.Find(SearchText).Offset(0)
GCell.EntireRow.Insert
GCell.EntireRow.Insert

Но это работает, только если вы введете определенный текст, который хотите найти. Но здесь у меня нет ничего конкретного для поиска. Это просто цифры

1 ответ1

0

Если вы хотите вставить строки ниже измененного значения независимо от того, что изменилось, вы можете использовать что-то вроде этого:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 4 Then
    If Target.Worksheet.Rows(Target.Row).EntireRow.Hidden = False Then
        Target.Offset(1, 0).EntireRow.Insert
        Target.Offset(1, 0).EntireRow.Insert
    End If
End If

End Sub

Имейте в виду, что этот код должен быть размещен на кодовой странице для рабочего листа, на который вы хотите повлиять.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .