Excel 2013 VB在从单元格退出时重新计算数据输入值?

时间:2017-08-14 18:30:53

标签: excel excel-vba formula calculation vba

我有一个电子表格,我需要从外部来源手动输入值。 对于其中3个单元格,有一个十进制值: 例如:66.78,28.5,0.5171

我希望能够输入数字(不带小数),并且在退出单元格时,让VB代码对每列进行适当的除法(但如果以后编辑,则不重复除法......)。 / p>

即:键入6678,当光标移动到下一个单元格时,VB将其除以100.键入285,VB将此除以10.然后将下一个除以10000。

暴力解决方案是在其他地方输入整数,并有一个除法公式,我想要小数值。但是,类似于我离开单元格时单个单元格文本转向大写的代码,我希望有一种方法可以在单元格的数值上运行代码片段 - 这里'是大写的代码:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not (Application.Intersect(Target, Range("$D11:$D$110")) _
      Is Nothing) Then
        With Target
            If Not .HasFormula Then
                Application.EnableEvents = False
                .Value = UCase(.Value)
                Application.EnableEvents = True
            End If
        End With
    End If
End Sub

为避免重复,如果编辑原始值,则理想情况如下:

" on_exit cell,if cell.value> 100,然后X / 100,否则X"对于第一个。

我希望对

进行一些小调整
.Value = UCase(.Value)

将进行数值计算的代码段。有什么想法吗?

0 个答案:

没有答案