このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】数式セルを数えるプログラム(HasFormulaプロパティ)

2024年10月26日

数式の入ったセルがたくさんあると、処理速度が遅くなることがあります。

Excelは数式の計算や再計算に多くの計算リソースを必要とするので、数式の数が増えるにつれて処理速度が低下します。

1 つ操作する度に固まったりすると、イライラしますよね。

そこで、処理速度が遅いと感じたら、まずは数式セルの数を数えて見てはどうでしょう?

数式セルを数えるプログラムをVBAで作成したので、活用してみてください。

VBAが難しいと感じたら
ココナラにて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を返します。

このプロパティを利用して、数式セルを数えています。

《VBA上級者になりたい人へ》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。
この本を読み切れば間違いなくVBA上級者になれます。

created by Rinker
技術評論社
¥3,608 (2024/11/21 14:41:17時点 Amazon調べ-詳細)
VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

VBA

Posted by やろまい