Home » ExcelVBA Rangeオブジェクト » 表示形式 » 数式を文字列にするExcelマクロ

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

対象:Excel 2010, Excel 2013, Windows版Excel 2016

「数式が文字列になる マクロ activecell.formula =」
という検索でのアクセスがありました。

業務用Excelファイルの、マニュアルや引継ぎ用資料などを作成しようとしていた方による検索でしょうか。

アクティブなセルの数式を、単なる文字列にするExcelマクロを探していたのかもしれません。

[スポンサードリンク]

シングルクォーテーションを使ってアクティブセルの数式を文字列にするサンプルマクロ

以下のSubプロシージャを実行すると、アクティブセルに入力されている数式が、文字列になります。


Sub アクティブセルの数式を文字列にする_シングルクォート()
 ActiveCell.Value = "'" & ActiveCell.Formula
End Sub

「数式が文字列になる マクロ activecell.formula =」
と検索されましたが、数式を文字列(値)にしたいので、Range.Formulaは代入文の左辺ではなく右辺です。

ポイントは、ちゃんと文字列にするために、「'」(シングルクォーテーション)を先頭につけることです。
  ActiveCell.Value = "'" & ActiveCell.Formula

わかり辛いと思いますが、「'」(シングルクォーテーション)を
  ActiveCell.Value = "'" & ActiveCell.Formula

「"」(ダブルクォーテーション)で括っています。
  ActiveCell.Value = "'" & ActiveCell.Formula

文字列書式を設定してアクティブセルの数式を文字列にするサンプルマクロ

「'」を使わない場合は、以下のようなSubプロシージャです。


Sub アクティブセルの数式を文字列にする_文字列書式()
 With ActiveCell
  .NumberFormatLocal = "@"
  .Value = .Formula
 End With
End Sub

事前に文字列書式を設定しておいてから、
  With ActiveCell
   .NumberFormatLocal = "@"

Range.Valueプロパティに、Range.Formulaプロパティで取得した文字列を代入します。
   .Value = .Formula

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » 表示形式 » 数式を文字列にするExcelマクロ

TrackBack:0

TrackBack URL
[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » 表示形式 » 数式を文字列にするExcelマクロ

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

.