【コピペOK】数式セルを値に変換する方法!【Formula】
こんにちは!『ルウちゃんのExcel Labo』管理人の@rouxchanblogです!
今回はこのような悩みについて解説します。
数式が入っているセルを値に変換したい!
- 数式が入っているセルを見つける方法
- 数式を値に変換する方法
- エラーが出た場合の処理について
サンプルコード紹介
数式セルを値に変換するには「Fomulaプロパティ」と「SpecialCellsメソッド」を使っていきます!
サンプルコードと実際の画面を見て動きをイメージしてください!
サンプルコードはそのままコピーしても使えるので是非活用してください!
On Error GoTo エラー処理
Dim 範囲 As Range
Set 範囲 = Cells.SpecialCells(xlCellTypeFormulas)
範囲.Formula = 範囲.Value
Exit Sub
エラー処理:
MsgBox "数式が入力されているセルはありません"
このように数式が入っていたセルを値に変換することができました!
どのような処理が行われているのか具体的に解説します!
数式が入っているセルを見つける方法
数式が入っているセルを見つけるには「SpecialCellsメソッド」を使いましょう!
「SpecialCellsメソッド」の引数を「xlCellTypeFormulas」とすることで数式が入っているセルを取得することができます。
特定の条件を満たすセルを取得できるから便利だね!
サンプルコードでは、オブジェクト変数として「範囲」を定義し、変数の値に「数式が入っているセル」を入れています。
このように一旦、オブジェクト変数に格納することでコードの可読性を上げることができるのでおすすめです!
数式を値に変換する方法
次にセルに入っている数式を値に変換する方法について解説します!
オブジェクト.Formula = オブジェクト.Value
このように記述することで右辺のデータが左辺に代入されます。
よってセルの数式がセルの値に上書きされ、変換することができるのです。
セルに値としてのデータを代入していたんだね!
馴染みの無い方にはイメージしづらいかもしれませんね。
しかし、この「=」を使った変換方法は様々な場面で使えるのでおすすめです!
エラーが出た場合の処理について
次にエラーが出た場合の処理について解説します。
Excelで数式を扱うとこのようにエラーが発生することがありますよね。
VBAでこのエラーが発生してしまうと、その時点でプログラムが止まってしまいます。
そのため、エラーが発生した時にどのような処理を行うのかを先に記述する必要があります。
まとめ
この記事で少しでも皆さんのお役に立てれば幸いです!
忘れないうちにお気に入り登録もお願いします!
ありがとうございました!
コメントはお気軽に!