在Worksheet_Change过程之前更改目标单元格

我试图设置一个工作表来自动更改格式,因为用户更新下拉列表或selecttypes中的types。 我目前的版本是function,但我注意到,如果我input我的select,并回车,目标函数拿起它下面的行。

第3列有一个下拉框,您可以在其中select数字或%,这将告诉代码格式化行。 但是,如果我在第3行input标识符并按回车,目标函数在input按下之后发生,并且用第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 

我想知道如何dynamic处理input,如果用户input的数据字段,并使用input,而不是下拉。 有任何想法吗?