任何Excel的单元格公式都可以将它自己的值除以1000?

如果我以编程方式或手动input一个值,比如10000,进入一个excel单元格,我需要它自动将它除以1000,这可以发生吗?

No.1,我不是问显示格式,我需要认真的改变input的值。

2号公式不适用于整个工作表。

您可以通过使用工作表更改事件来完成此操作。 但是为了确保你只做了一次,而不是每次这个事件被触发,你都需要跟踪这个值。 你可以在一张不可见的纸上,在纸上的其他地方等等

逻辑上来说,如果在一个单元格的范围内,你基本上会检查单元格何时发生变化。 如果是这样,通过将其与logging进行协作,确保与触摸单元格之前(不做任何更改)之前的值不同。 如果它已经改变,你只需除以1000并更新logging。

希望这可以帮助。

Private Sub Worksheet_Change(ByVal Target As Range) 'Turn off events to stop this from looping Application.EnableEvents = False 'Let's say you want this to happen for A1:A10 'Store the value of the cells on a hidden sheet or somewhere. Here let's assume B1:B10 is the hidden record If Target.Column = 1 Then If Target.Row > 0 And Target.Row < 11 Then If Target.Value <> Target.Offset(, 1) Then Target.Value = Target.Value / 1000 Target.Offset(, 1).Value = Target.Value End If End If End If 'Turn events back on Application.EnableEvents = True End Sub 

对不起,由于某种原因,格式化的东西没有正确缩进代码…

如果我是你,我会回避这个问题,因为你会用1000永久性分割单元格来解决问题。当然,编辑开始时你可以将数字乘以1000,但是我并不认为这是特别强大的。

我会采取的方法将有一个电子表格区域(用户通常不会看到),其中包含的forms= A1 / 1000的公式,其余的计算stream程取决于这些单元格。

这样做意味着您将所有内容保留在没有VBA的电子表格中。