【コピペでOK】数式が入力されているセルを操作する方法【Excel VBA】

こんにちは!『ルウちゃんのExcel Labo』管理人の@rouxchanblogです!

今回はこのような悩みについて解説します。

ルウちゃん

数式が入っているセルだけ色を変えたい!
どうやってやるか教えて!

この記事でわかるようになること
  1. 数式セルだけに処理をする方法
  2. Specilacellsメソッドの使い方
  3. エラーが発生したときの対処法←超重要です
目次

サンプルコード紹介

数式が入っているセルを取得するには「SpecialCellsメソッド」を使います。

まずはサンプルコードと実際の画面を見て動きをイメージしてください!

もちろんそのままコピぺして使っていただいても大丈夫です!

サンプルコード
On Error GoTo エラー処理
Dim 範囲 As Range
Set 範囲 = Cells.SpecialCells(xlCellTypeFormulas)
範囲.Font.ColorIndex = 3
Exit Sub
エラー処理:
    MsgBox "数式が入力されているセルはありません"

このように数式セルのみを赤色に変更できました!

数式セルがない場合はメッセージボックスが表示されます。

Specialcellsメソッドとは?

数式が入っているセルを取得するには「SpecialCellsメソッド」を使いました。

この「SpecialCellsメソッド」は簡単に言うと、条件に一致したセルを一発で取得してくれるとても便利なメソッドです!

今回のように数式が入っているセルに使ってもいいですし、空白のセル数値として入力されているセルを取得することも可能です!

記述方法
Cells.SpecialCells(引数)

このように記述します。カッコの中に取得したいセルの種類に該当する引数を入力してください!

下記の表をご参考ください!

スクロールできます
名前説明
xlCellTypeAllFormatConditions-4172表示形式が設定されているセル
xlCellTypeAllValidation-4174条件の設定が含まれているセル
xlCellTypeBlanks4空白セル
xlCellTypeComments-4144コメントが含まれているセル
xlCellTypeConstants2定数が含まれているセル
xlCellTypeFormulas-4123数式が含まれているセル
xlCellTypeLastCell11使われたセル範囲内の最後のセル
xlCellTypeSameFormatConditions-4173同じ表示形式が設定されているセル
xlCellTypeSameValidation-4175同じ条件の設定が含まれているセル
xlCellTypeVisible12すべての可視セル
Microsoft:引用

エラーに対する処理

VBAではエラーが発生すると、処理が止まってしまいます。

今回で言うと、数式セルがない場合エラーが発生します。

そのような場合を想定して先にエラーが発生したときの処理を記述しておくことが必要です。

ルウちゃん

先にエラーが発生した時の処理を記述しておくのか〜
難しそうだけど大丈夫かな、、、

エラー処理は難しい印象が強いかもしれませんが、全くそんなことは無いので安心してください!

今回は「On Errorステートメント」を使って処理を書いていきます。

記述方法
  On Error GoTo 行ラベル
  〜メイン処理〜
行ラベル:
  〜エラー時に実行させたい処理〜

このように記述することで、エラー時にプログラムが止まることなく処理を実行することができます。

具体的には、「On Error GoTo」と書いたあとに、行ラベルを書きます。そして「行ラベル:」のあとにエラー時に実行させたい処理を書きます。

この行ラベルというのは変数のように自分のわかりやすい名前をつけていただいて結構です!

ルウちゃん

行ラベルも変数のように好きな名前をつけたらいいんだね。

今回使ったコードでは行ラベルに「エラー処理」という名前をつけました。

筆者は可読性を重視したいので日本語でつけています(笑)

ちなみに行ラベルは数値で入力することで行数を指定することも可能です。

しかし後でコードを修正することもあるので、個人的には名前をつけるやり方が一番オススメです!

まとめ

今回は数式の入ったセルのみに処理を実行する方法を解説しました!

数式セルのようにある条件を満たすセルを取得するには「Specilacellsメソッド」を使いましょう!

また、エラーが発生するようなコードを記述する時は発生した場合の処理も必ずセットで記述しておきましょう!

この記事で少しでも皆さんのお役に立てれば幸いです!

忘れないうちにお気に入り登録もお願いします!

ありがとうございました!

/// お得な情報 ///

すぐに使えて便利なテクニックが650個も手に入る!

気になる人は今すぐクリック!!

 

コメントはお気軽に!

コメントする


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

目次