我创建了一个简单的请求表单,该表单将用户带到电子表格,要求他们填写名字,姓氏,用户的别名,取消激活权限和取消激活角色。该表格最多可用于9个不同的用户。我想再加上一列“同一用户的换行符?”可以使用答案为“是”和“否”的下拉菜单。并且,如果用户选择“是”,则新行将使用与前一行相同的名称和别名填充,而其下的其他行将向下移动一行。事情是我想要的:
1)创建新行,但是
2)仅复制该用户的名字(A列),姓氏(B列)和用户别名(C列)。 “访问停用”选项(列D)和“停用角色”选项将保持为空,以便请求者可以填写它们。并且在复制的新行中也不会填写“同一用户的新行”选项。
我已经尝试过使用VBA的不同方法,但是由于我没有那么丰富的经验,因此我无法提出任何可以满足需要的方法。我认为它应该是基于动态范围的,因此可以在整个表格中使用。你能请教吗?
答案 0 :(得分:0)
您可以尝试以下方法:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LastRow As Long
With ThisWorkbook.Worksheets("Sheet1")
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
If Not Intersect(Target, .Range("F7:F" & LastRow)) Is Nothing And Target.Value = "Yes" Then
Application.EnableEvents = False
.Rows(Target.Row + 1).EntireRow.Insert
.Range("A" & Target.Row & ":C" & Target.Row).Copy .Range("A" & Target.Row + 1 & ":C" & Target.Row + 1)
Application.EnableEvents = True
End If
End With
End Sub