「数式が文字列になる マクロ activecell.formula =」
という検索でのアクセスがありました。
業務用Excelファイルの、マニュアルや引継ぎ用資料などを作成しようとしていた方による検索でしょうか。
アクティブなセルの数式を、単なる文字列にするExcelマクロを探していたのかもしれません。
シングルクォーテーションを使ってアクティブセルの数式を文字列にするサンプルマクロ
以下のSubプロシージャを実行すると、アクティブセルに入力されている数式が、文字列になります。ActiveCell.Value = "'" & ActiveCell.Formula
End Sub
「数式が文字列になる マクロ activecell.formula =」
と検索されましたが、数式を文字列(値)にしたいので、Range.Formulaは代入文の左辺ではなく右辺です。
ポイントは文字列にするため、「'」(シングルクォーテーション)を先頭につけることです。
ActiveCell.Value = "'" & ActiveCell.Formula
わかり辛いと思いますが、「'」(シングルクォーテーション)を
ActiveCell.Value = "'" & ActiveCell.Formula
「"」(ダブルクォーテーション)で括っています。
ActiveCell.Value = "'" & ActiveCell.Formula
文字列書式を設定してアクティブセルの数式を文字列にするサンプルマクロ
「'」を使わない場合は、以下のようなSubプロシージャです。With ActiveCell
.NumberFormatLocal = "@"
.Value = .Formula
End With
End Sub
事前に文字列書式を設定しておいてから、
With ActiveCell
.NumberFormatLocal = "@"
Range.Valueプロパティに、Range.Formulaプロパティで取得した文字列を代入します。
.Value = .Formula
- Newer:ワンポイント(コラム)の目次
- Older:VBAで項目軸を反転する
Home » Excel VBA Rangeオブジェクト » 表示形式 » 数式を文字列にする2種類のマクロ