Home » Excel VBA Rangeオブジェクト » セル数式 » 数式を文字列に変換するマクロ

数式を文字列に変換するマクロ

対象:Excel2003, Excel2007, Excel2010

「エクセル 数式を文字列に変換」
という検索が行われていました。

このサイト・インストラクターのネタ帳では、Excelのセルに数式を表示する系の以下のような記事をご紹介してきました。

単純に表示するだけでよければ、これらの記事を参考にしてください。

[スポンサードリンク]

数式を文字列に変換するサンプルマクロ

「数式を文字列に変換」と検索されているので、VBA(Visual Basic for Applications)で、セルに入力されている数式を表示をするのではなく、数式を文字列に変換してしまうマクロを作ってみました。
Sub 数式を文字列に変換する()
 Dim rng As Range
 
 For Each rng In ActiveWindow.RangeSelection
  With rng
   If .HasFormula Then
    .Value = "'" & .Formula
   End If
  End With
 Next rng
End Sub

いずれかのセル範囲を選択しておいてから上記のマクロを実行すると、選択されているセル内の数式が文字列になります。

サンプルマクロの解説

選択されているセル範囲内のセルに対してFor Each~Nextループを回して、
  For Each rng In ActiveWindow.RangeSelection

Range.オブジェクトのHasFormlaプロパティで数式かどうかを調べ
   With rng
    If .HasFormula Then

数式であれば、数式の前に「'」をつけた文字列「"'" & .Formula」を、Range.Valueプロパティに設定しています。
    .Value = "'" & .Formula

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » セル数式 » 数式を文字列に変換するマクロ

「セル数式」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.