选择单元格中的某个值时如何自动添加新行

时间:2019-10-24 18:29:52

标签: excel vba

我对VBA还是很陌生,不确定是否可以进行此操作,因此不胜感激,因为我的大脑因试图找到答案而受伤。

我有一组数据:

Data list

我已设置数据验证,以便有人可以在“更多问题”列中输入Y或N。

在选择Y时,无需运行宏,我需要在该行下填充另一行。

我正在运行excel 2016,不确定对此是否有任何解决方案。

2 个答案:

答案 0 :(得分:1)

尝试使用此宏:放置在工作表对象中。 *已更新

Private Sub Worksheet_Change(ByVal Target As Range)
    'If the cell already has a capital "Y" and you 
    'double click the cell it will insert a row.
    'And typing a "Y" into any other column will not error 

    If Target.Cells.Count > 1 Then Exit Sub

    If Not Intersect(Target, Columns(2)) Is Nothing Then
        If Target.Value = "Y" Then
            Target.Offset(1).EntireRow.Insert Shift:=xlDown
        End If
    End If

End Sub

答案 1 :(得分:0)

这里有一些工作代码可以帮助您入门。只需右键单击工作表标签并选择view code,即可将代码放置在您正在使用的工作表中。

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, sh As Worksheet
Set sh = ThisWorkbook.Sheets("Sheet1")
If Not Application.Intersect(Range("B2:B8"), Range(Target.Address)) Is Nothing Then
    Set r = Target
    If r = "Y" Then r.Offset(1, 0) = "populated cell"
End If
End Sub

动画gif(单击以查看详细信息)显示输入N或Y,并且仅填充Y下方的单元格。询问您是否对此有疑问。

enter image description here