vba - 自动在小数点分隔符后写入 2 位数字

标签 vba excel onchange

我有一个有效的代码,但如果可能的话,我想简化它。
当范围内的单元格的值发生变化时,此代码起作用。它检查插入的数据是否为数字,然后自动将其除以 100,因此我不必使用分隔整数和小数的字符,当您要插入数千个数字时,这会产生很大的不同床单。

我的代码是:

Public Sub Worksheet_Change(ByVal Target As Range)
Set Intersecao = Intersect(Target, Range("ENTRANUMEROS"))

If (Not (Intersecao Is Nothing)) And (Not IsEmpty(Intersecao)) Then

    On Error GoTo Fim

    Dim Entrada As Double: Entrada = Intersecao.Value

    Application.EnableEvents = False
    If IsNumeric(Entrada) Then
        Entrada = Entrada / 100
        Intersecao.Value = Entrada
    Else
        MsgBox ("Invalid data.")
        Intersecao.Value = ""
        Intersecao.Select
    End If
    Application.EnableEvents = True

End If

Fim:
End Sub

最佳答案

在 VBA 中,您可以使用它:

Sub TestMe()
    Application.FixedDecimal = True
    Application.FixedDecimalPlaces = 2
End Sub

关于vba - 自动在小数点分隔符后写入 2 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49012704/

相关文章:

excel - 如何根据另一个工作表中的值填充不同工作表中的单元格,反之亦然

node.js - npm 插件 "onchange"无法识别 scss 文件更改

xml - 使用 MSXML 创建 XML 的最佳方式是什么

excel - 使用 VBA 从 Excel 创建到 Access 数据库的连接

Vba代码在同一工作簿的不同工作表中打开多个文件

python - 如何将工作表复制到另一个工作表(而不是作为附加工作表)

excel - 为什么 Excel VBA 例程被另一个例程调用后不起作用?

javascript - 如何使用 jQuery 在 Select 事件中禁用不同的输入

angular - 当我们输入 [Angular] 时,如何检测输入字段的变化

html - VBA复制网站数据