7

我对这个 VBA 宏有疑问。

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

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

结果,这个宏改变了单元格的值B2(显示给我们的文本),但清除了它的公式。我需要更改B2' 的值,但也需要保留公式。

所以我的问题是如何在不更改其公式的情况下更改单元格的显示文本?

更新

我问这个问题是因为我正在尝试解决这个问题

4

1 回答 1

12

我不确定这是否会有所帮助,因为很难说出您的基本要求是什么,但无论如何:

有几件事会影响单元格的显示

  1. 输入的值,如果它是一个常数
  2. 计算的结果,如果它是一个公式
  3. 单元格的格式
  4. 单元格的条件格式(如果有)

在提供的示例表中,您有一个公式,=ROW()&COLUMN()该公式返回的字符串结果为22

您可以通过应用单元格格式使此显示
其他内容, 例如,格式0;0;0;Ov\e\r\ri\d\d\e\n t\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"""
于 2012-07-11T10:12:20.353 回答