我有一个问题,这个VBA宏。
Sub demoChangeText()
Application.Range("B2").Value = "Overidden text"
End Sub
我的测试是在这里 。 要运行此宏,在Excel中,按打开Ctrl+F8
,选择demoChangeText
。
其结果是,该宏改变单元格的值B2
(显示给我们的文本),但清除其公式。 我需要改变B2
的值,还需要下式进行保持。
所以我的问题是如何改变细胞的显示文本,而不改变其配方?
UPDATE
我问这个问题,因为我试图解决这个问题
我不知道这是否会帮助,因为这是一个有点分不清你的潜在需求是什么,但在这里不用反正:
有几件事情会影响细胞的显示 :
- 输入的数值,如果它的一个常数
- 的计算的结果,如果其式
- 所述单元格的格式
- 细胞的条件格式(一个或多个),如果有的话
在这个例子中片只要你有一个公式=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?