自动更改用户输入的数据

时间:2012-03-28 19:45:40

标签: excel vba

当用户在某列中输入值时,应自动选取该值并将其添加为后缀。

例如,用户输入“3”,将其转换为“事件”& Cell.Value。

我遇到了OnChange Sub例程的问题,我认为当用户更改单元格选择时,我采用了错误的路径来自动转换。

任何人可能会给我的任何提示也许请你?

2 个答案:

答案 0 :(得分:3)

将此代码放入工作表的Change事件中:

Private Sub Worksheet_Change(ByVal Target As Range)
    If (IsNumeric(Target.Value)) Then
        Application.EnableEvents = False
        Target.Value = "Incident " & Target.Value
        Application.EnableEvents = True
    End If
End Sub

IsNumeric确保当细胞聚焦时,您不会得到“事件事件9”。 Application.EnableEvents = False将阻止以递归方式调用Change事件。

答案 1 :(得分:0)

是否真的需要在单元格中说“事件”,或者它只是以这种方式显示它是否正常?

如果只需要在屏幕上显示该方式,则可以将“事件”添加到单元格的格式中。打开“单元格格式”对话框。在“数字”类别中,选择“自定义”,然后在“类型”字段中,在原始格式类型前面添加"Incident "

如果Type为"Incident "General,则当用户输入12345时,它将显示为Incident 12345。如果类型为"Incident "#,##0,则12345将显示为Incident 12,345