在Worksheet_Change处理之前更改目标单元格

时间:2016-05-26 15:22:39

标签: excel vba excel-vba

我正在尝试设置工作表,以便在用户更新下拉列表或键入选择类型时自动更改格式。我当前的构建功能正常,但我注意到如果我输入我的选择并按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而不是下拉列表,我想弄清楚如何动态处理输入。有什么想法吗?

0 个答案:

没有答案