対象: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
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オブジェクト » セル数式 » 数式を文字列に変換するマクロ