[ Excel-VBA ] セルに入力した数式が計算されずそのまま表示される

Pocket

エクセルを使用していて数式を入力したにも関わらず、計算させず文字列としてそのまま表示されたままの状態になることが稀にあるようです。

スポンサーリンク

計算式がそのままセルに表示される

数式がそのままセルに表示される

私の場合は、VBA からセルに数式を入力したケースで本事象に遭遇しました。なお、下記サンプルはかなりの部分を省略していますので、このコードで同事象が発生するとは限りません。検索するとセルのオブションなどの設定によって起こるような記事もありましたが、原因は特定できませんでした。

' セルに数式を設定
Cells(1, 6).Formula = "=D1+E1"
セルに刺激を与える

期待するような状態にするには、数式を入力したセルに刺激を与えればよいことはわかりました。下図のようにいったんセルを編集状態にしてから、エンターキーを押します。

一旦セルを編集状態にしてから

一旦セルを編集状態にしてから

エンターキーを押すと数式が計算される

エンターキーを押すと数式が計算される

今回は「F2キー→Enterキーが面倒−置換の実行」にあるように数式の “ = ”  を “ = ” に変換する(何も変化はしない)ようにしたところ、VBA で設定したセルの数式がちゃんと計算されるようになりました。

' セルに数式を設定
Cells(1, 6).Formula = "=D1+E1"

' 数式が計算されるように刺激を与える
Cells(1, 6) = Replace(Cells(1, 6), "=", "=")

' = の置換でなくとも刺激を与えるだけなので以下でも OK
Cells(1, 6) = Replace(Cells(1, 6), "", "")

 

今日は、山下 達郎さんの誕生日だそうです。 1953年 2月 4日生まれ。泣かないでヘロン

 

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *