【Excel VBA】数式が入力されているセル範囲を列挙する


Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/take1mg/www/plus1/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524

シート状の数式が入力されているセルをすべて知りたい、またはそれらをチェックするときに使えるマクロ。

Option Explicit

Sub 数式が入力されているセル範囲を列挙する()
    Dim targetRange As Range
    Set targetRange = Selection.CurrentRegion
    
    Dim str As String
    str = targetRange.SpecialCells(xlCellTypeFormulas).Address
    str = Replace(str, "$", "")
'    str = Replace(str, ":", "~")
    
    Dim data
    data = Split(str, ",")
    
    Dim i As Integer
    For i = LBound(data) To UBound(data)
        Debug.Print data(i)
'        Range(data(i)).Select
    Next i
    
    Set targetRange = Nothing
End Sub

 

単に範囲を知りたいだけの場合は、上記の10行目のコメントを外すと人間的には少しわかりやすい形で知ることができます。

また、チェックのために範囲選択をさせて場所を特定したい場合は、18行目のコメントを外した上で、19行目にでもブレイクポイントをつけて実行すると、いちいちマクロの実行が一時停止するので、その状態でゴニョゴニョすればよろしい。

 

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿、および宣伝に類する投稿は無視されますのでご注意ください。(スパム対策)