当值发生变化时,VBA 在 D 列中添加一个空白行,仅在可见单元格中

当值发生变化时,VBA 在 D 列中添加一个空白行,仅在可见单元格中

我希望我的 VBA 代码在 d 列单元格值发生变化时插入两个空白行。由于我使用了一些自动过滤器,因此我只希望它在可见单元格上执行此功能。

我有这个:

Dim GCell As Range

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

但只有输入要搜索的特定文本时,它才会起作用。但这里我没有任何具体的内容可以搜索。只有数字

答案1

如果您想在更改的值下方插入行,而不管发生了什么更改,那么您可以使用以下命令:

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

请注意,此代码必须放在您希望它影响的工作表的代码页中。

相关内容