如何在不改变公式的情况下更改单元格的值(显示文本)?
我有这个VBAmacros的问题。
Sub demoChangeText() Application.Range("B2").Value = "Overidden text" End Sub
我的testing在这里 。 要运行这个macros,在Excel中打开它,按下Ctrl+F8
并selectdemoChangeText
。
结果,这个macros改变了单元格B2
(显示给我们的文本)的值,但清除了它的公式。 我需要改变B2
的价值,但也需要保留的公式。
所以我的问题是如何更改单元格的显示文本而不更改其公式?
UPDATE
我问这个问题,因为我试图解决这个问题
我不确定这是否会有所帮助,因为要了解您的基本要求有些困难,但无论如何,
几件事情影响一个单元格的显示 :
- input的值,如果它是一个常数
- 一个计算的结果,如果它的一个公式
- 单元格的格式
- 单元格的条件格式(如果有的话)
在提供的示例表中,您有一个公式=ROW()&COLUMN()
,它返回string结果22
你可以通过应用单元格格式来使这个显示变成别的东西,
例如格式为0;0;0;Ov\e\r\ri\d\d\e\nt\ext
将显示任何string值作为Overridden text
这可以通过与VBA一起使用
Range("B2").NumberFormat = "0;0;0;Ov\e\r\ri\d\d\e\nt\ext\s"
要么
Range("B2").NumberFormat = "0;0;0;""Overridden texts"""