我正在尝试设置工作表,以便在用户更新下拉列表或键入选择类型时自动更改格式。我当前的构建功能正常,但我注意到如果我输入我的选择并按Enter键,目标函数会选择它下面的行。
第3列有一个下拉框,您可以在其中选择数字或%,这会告诉代码格式化行。但是,如果我在第3行输入标识符并按Enter键,则在输入按下后会发生目标函数,并使用第3行的标识符更改第4行。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "" Then Exit Sub
If (Target.Column <> 3) Then Exit Sub
Application.EnableEvents = False
If Target.Value = "%" Then
Application.EnableEvents = True
ActiveCell.EntireRow.Select
Selection.NumberFormat = "0.0%"
ElseIf Target.Value = "Number" Then
Application.EnableEvents = True
ActiveCell.EntireRow.Select
Selection.NumberFormat = "0"
End If
Application.EnableEvents = True
Target.Select
End Sub
如果用户将数据输入字段并使用enter而不是下拉列表,我想弄清楚如何动态处理输入。有什么想法吗?