Excel 在具有公式的单元格上强制使用 Text NumberFormat

Excel forcing Text NumberFormat on a cell with Formula

我正在尝试将公式存储在单元格中。该单元格的 NumberFormat 设置为 "@" 即文本。当我这样做时:

TargetSheet.Cells(Row, Col).Formula = "=A7"

A7 中有 "1805R03-01" 我在单元格中显示 "=A7"。 尽管我认为如果您通过 Formula 属性 设置文本格式的字段,您应该被允许为其定义公式,但我将代码更改为:

(1)  TargetSheet.Cells(Row, Col).NumberFormat = "General"
(2)  TargetSheet.Cells(Row, Col).Formula = "=A7"

这让我得到了我想要的东西,因为现在我的单元格显示 "1805R03-01" 的正确值,但数字格式由 Excel 再次设置为“@”,这样如果我点击在该单元格上输入显示 returns 到 "=A7"。我可以在上面的代码中重新添加 Line (1) as 和 additional Line (3) ,但这只是意味着我将停止将我的公式转换回文本一次,在该单元格上输入两次仍然导致 "=A7"。如何阻止 Excel 在单元格上强制使用文本数字格式?当我手动 return 将其格式设置为 "General" 时,单元格显示正确,因此不需要文本数字格式。

我不确定这是否有帮助,但我以前遇到过类似的问题,其中 Excel 会根据自己的判断自动切换回数字格式。

所以我所做的是:假设我有两列

A          B
abc       123
asuh      412
auw       9781
ija       124

我会将另一列 C 列的编号设置为常规

Range("C:C").Select
Selection.NumberFormat = "general" 

然后将A或B复制进去。在您的情况下,它将自动执行代码。

它没有再变回文本或数字。 至少对我来说。

如果单元格 A7 的数字格式为 text,请尝试将其设置为 general。然后在cells(row, col)中重新输入公式,看看是否得到不同的结果。

从属单元格(在公式审计的上下文中)似乎继承了它们前例的 NumberFormat -- 除非前例单元格的 NumberFormat 是 general