VBAセルの範囲に数式が使われているか取得する



The following two tabs change content below.
アバター

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

どうもtakaです( ^ω^ )

今回は【セルの範囲で数式が使われいてるか】を取得する方法をご紹介します!(^^)!

セルにデータがたくさんあるときに数式がつかれているかどうか判定したい時がありませんか?私はありました(笑)

会社で新入社員を入れるということで簡易的なExcelの試験をVBAで作成してほしいという依頼を受けたときに【数式を使って見本と同じものを作れ】という試験にしたので、合否判定の時に使用しました(;´・ω・)

HasFormulaプロパティを使ってセルに数式が使われているか判定する

セルに数式が使われているか判定するのかというと【Rangeオブジェクト】の【HasFormulaプロパティ】というものを使います。

このHasFormulaプロパティはRangeで指定した範囲に数式が使われていれば【True】を返し、使われていなければ【False】を返すというすごく便利なプロパティです(笑)

上記画像の状態で下記のコードを実行してみます。

 Sub sample()

If Range("A1").HasFormula = True Then
 MsgBox "A1は数式が使われています"
 Else
MsgBox "A1は数式は使われていません"
End If
If Range("A2").HasFormula = True Then
 MsgBox "A2は数式が使われています"
 Else
MsgBox "A2は数式は使われていません"
End If

 End Sub

しっかり判定できていると思います。

範囲内で数式が使われているか判定してみよう

さて、先ほどの方法を応用して、↓のような状態で数式が使われているのかを判定するコードを実際に使ってみましょう!

 Sub sample()
Dim rg As Range

Range("A1:M30").Select

For Each rg In Selection
If rg.HasFormula = True Then'数式が使われていたらセルの色を変える
rg.Interior.Color = RGB(73, 227, 170)
 Else

End If

Next rg

 End Sub

フォロー・チャンネル登録お願いします

VBA以外についてのブログはこちら↓

https://yb-log.com/

■Twitterフォロー

■YouTubeチャンネル登録

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です