如何VBA改变单元格的值(显示文本),而不改变其配方?(How to VBA change cell

2019-06-26 05:22发布

我有一个问题,这个VBA宏。

Sub demoChangeText()
    Application.Range("B2").Value = "Overidden text"
End Sub

我的测试是在这里 。 要运行此宏,在Excel中,按打开Ctrl+F8 ,选择demoChangeText

其结果是,该宏改变单元格的值B2 (显示给我们的文本),但清除其公式。 我需要改变B2的值,还需要下式进行保持。

所以我的问题是如何改变细胞的显示文本,而不改变其配方?

UPDATE

我问这个问题,因为我试图解决这个问题

Answer 1:

我不知道这是否会帮助,因为这是一个有点分不清你的潜在需求是什么,但在这里不用反正:

有几件事情会影响细胞的显示

  1. 输入的数值,如果它的一个常数
  2. 的计算的结果,如果其式
  3. 所述单元格的格式
  4. 细胞的条件格式(一个或多个),如果有的话

在这个例子中片只要你有一个公式=ROW()&COLUMN()返回的字符串结果22

您可以通过将单元格的格式使这显示别的东西,
例如的格式0;0;0;Ov\e\r\ri\d\d\e\nt\ext将显示任何字符串值作为Overridden text

这可以通过施加用VBA

Range("B2").NumberFormat = "0;0;0;Ov\e\r\ri\d\d\e\n t\ext\s"

要么

Range("B2").NumberFormat = "0;0;0;""Overridden texts"""


文章来源: How to VBA change cell's value (display text) without changing its formula?