【VBA】数式セルを数えるプログラム(HasFormulaプロパティ)
数式の入ったセルがたくさんあると、処理速度が遅くなることがあります。
Excelは数式の計算や再計算に多くの計算リソースを必要とするので、数式の数が増えるにつれて処理速度が低下します。
1 つ操作する度に固まったりすると、イライラしますよね。
そこで、処理速度が遅いと感じたら、まずは数式セルの数を数えて見てはどうでしょう?
数式セルを数えるプログラムをVBAで作成したので、活用してみてください。
数式セルを数えるプログラム
Sub CountFormulaCells()
Dim rng As Range
Dim cel As Range
Dim formulaCount As Long
' セルを選択しているか確認
If TypeName(Selection) <> "Range" Then
MsgBox "セルを選択してください", vbCritical
Exit Sub
End If
' 選択範囲を取得
Set rng = Selection
' 数式セルの数を初期化
formulaCount = 0
' 選択範囲内の各セルをチェック
For Each cel In rng
' セルが数式を含む場合、数式セルとしてカウント
If cel.HasFormula Then
formulaCount = formulaCount + 1
End If
Next
' 結果をメッセージボックスで表示
MsgBox "数式セルの数: " & formulaCount, vbInformation
End Sub
このプログラムを実行すると、選択範囲内の数式セルを数えることができます。
実行すると、このように数式セルの数がメッセージボックスで表示されます。
(画像のABC列にはそれぞれ9個の数式セルがあるので、全部で18セルです)
HasFormulaプロパティについて
先ほどのプログラムではHasFormulaプロパティを使用して、数式セルを数えています。
' セルが数式を含む場合、数式セルとしてカウント
If cel.HasFormula Then
formulaCount = formulaCount + 1
End If
HasFormulaプロパティは、Excelのセルが数式を含んでいるかどうかを判断するために使用されます。
HasFormulaプロパティは、セル内に数式が存在する場合にTrueを返し、数式が存在しない場合にFalseを返します。
このプロパティを利用して、数式セルを数えています。