7

この VBA マクロに問題があります。

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

私のテストはここにあります。このマクロを実行するには、Excel で開き、 を押しCtrl+F8て を選択しますdemoChangeText

その結果、このマクロはセルの値B2(表示されるテキスト) を変更しますが、数式を消去します。の値を変更する必要がB2ありますが、式も残す必要があります。

だから私の質問は、数式を変更せずにセルの表示テキストを変更する方法ですか?

アップデート

私はこの問題を解決しようとしているので、この質問をします

4

1 に答える 1

12

I'm not sure if this will help, as it is a bit hard to tell what your underlying requirement is, but here goes anyway:

Several things affect the display of a cell:

  1. the entered value, if its a constant
  2. the result of a calculation, if its a formula
  3. the format of the cell
  4. the conditional format(s) of the cell, if any

In the example sheet provided you have a formula of =ROW()&COLUMN() which returns a string result of 22

You can make this display something else by applying a cell format,
eg a format of 0;0;0;Ov\e\r\ri\d\d\e\n t\ext will display any string value as Overridden text

This can by applied with VBA with

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

or

Range("B2").NumberFormat = "0;0;0;""Overridden texts"""
于 2012-07-11T10:12:20.353 に答える