如何在excel 2016中动态舍入单元格的单元格值

时间:2017-01-23 20:13:12

标签: excel vba excel-vba excel-formula

我有excel 2016的excel模板文件,我想从E23列到E100,如果有人输入它到3位数的任何值。示例: - 12345.123456应转换为12345.123。

这应该仅对任何值发生变化的单元格有效。在附图中,列E是我想要四舍五入的地方。任何帮助将不胜感激。

enter image description here

1 个答案:

答案 0 :(得分:1)

试试这个:

要输入此事件触发的宏,请右键单击工作表标签。 选择"查看代码"从右键单击下拉菜单中。 然后将下面的代码粘贴到打开的窗口中。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim C As Range

If Not Intersect(Target, Columns(5)) Is Nothing Then
    Application.EnableEvents = False
    For Each C In Intersect(Target, Columns(5))
        If IsNumeric(C.Value) And Len(C.Value) > 0 Then
            C.Value = Round(C.Value, 3)
        End If
    Next C
End If
Application.EnableEvents = True

End Sub