我对VBA还是很陌生,不确定是否可以进行此操作,因此不胜感激,因为我的大脑因试图找到答案而受伤。
我有一组数据:
我已设置数据验证,以便有人可以在“更多问题”列中输入Y或N。
在选择Y时,无需运行宏,我需要在该行下填充另一行。
我正在运行excel 2016,不确定对此是否有任何解决方案。
答案 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下方的单元格。询问您是否对此有疑问。