我有一个电子表格,我需要从外部来源手动输入值。 对于其中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)
将进行数值计算的代码段。有什么想法吗?