0

在 Excel 将自动格式应用于单元格之前,我需要获取用户输入到单元格中的值。例如 1230E45 被转换为 1.23E+48(科学记数法)。

我知道用户可以通过将单元格预格式化为文本来避免这个问题,但我不希望他\她每次都这样做。

有没有办法在编辑模式下捕获 keydown 来存储用户输入的内容?

或者更好的主意....

4

2 回答 2

0

我知道用户可以通过将单元格预格式化为文本来避免这个问题,但我不希望他\她每次都这样做。

如果输入单元格位于某个定义的区域中,例如 1 列或多列 - 您可以使用通常的“单元格属性”对话框将整个区域预格式化为文本。

也许这有点简单,但是您的输入中没有任何内容使我的解决方案完全不可能)

于 2013-01-23T06:57:26.063 回答
0

Excel 仅出于显示目的格式化数字 - 基础值存储为可使用 Cell.Value2 访问的双精度浮点数。
因此,大概您正在谈论当您希望它们成为文本时,Excel 会自动将一些看起来像数字的事物(1230E45 ... 24-Sep-1992 等)转换为数字。

如果是这样,一些可能的解决方案是:

  • 捕获表格中的数据,然后以您想要的表格将其传输到 Excel
  • 输入后对数据进行后处理并将其转换回您想要的形式
  • 有选择地将单元格预格式化为文本(有效地预先创建一个工作表表单供用户填写)
  • 使用表单控件(例如数据验证、列表框等)来允许从列表中选择用户输入
于 2013-01-23T08:36:42.163 回答