選択したセルの参照元トレース、参照先トレースを一括で表示するマクロ

テーマは一括でトレース矢印を表示するマクロ Excelの話

他の人が作ったエクセルのシートを解明する必要があるときに役に立つ「数式」タブの「参照先のトレース」、「参照元のトレース」ですが、複数のセルを調べたいときはそれぞれのセルごとにボタンを押す必要があります。マクロを使えば、選択中のセルの「参照先のトレース」、「参照元のトレース」を一括して表示することが可能です。

ワークシート分析のトレース矢印の表示機能

例えば、こんなワークシートで、F列で計算されているROE、ROAがどのセルの数字を使って計算しているか?参照元のセルがどこか調べたいときに便利なのが、「数式」タブのワークシート分析の「参照元のトレース」です。

セルを選択して「参照元のトレース」をクリックすると、そのセルがどのセルを参照しているかを矢印で表示してくれます。

しかし、この機能は単独のセルについてしか表示してくれません。複数のセルを選択した状態でも、そのうちのアクティブな一つのセルの分しか表示してくれません。

そこで、簡単なマクロを用意しておけば、複数のセルの参照元のトレースを一括して表示させることが可能です。

また、似た機能で「参照先のトレース」の機能もあります。これは、そのセルがどこのセルで参照されているかを調べられます。
資料のアップデートを繰り返していると不要なセルや計算が残ってワークシートが見ずらくなります。そんなときに「参照先のトレース」を使えば、そのセルが他のセルの計算へ影響するかどうかが調べられます。

選択中の複数のセルの「参照元のトレース」「参照先のトレース」を表示するマクロ

このマクロを使うと複数のセルを選択中のすべてのセルについて「参照元のトレース」「参照先のトレース」を一括して表示させることができます。

選択中のセルに一括して「参照元のトレース」を表示

セルの「ShowPrecedents」メソッドを使います。

選択中のセルについてfor構文で順番に「ShowPrecedents」メソッドの処理をさせます。

Sub show_precedents()

Dim c As Range 'セルを入れる変数の宣言 

For Each c In Selection '選択中の各セルを順番に処理
    'セルの参照元のトレースを表示
    c.ShowPrecedents
Next
    
End Sub

これで、複数のセルを選択した状態でマクロを実行すれば、参照元のトレースの矢印が一括して表示できます。

選択中のセルに一括して「参照先のトレース」を表示

参照先のトレースの場合は「ShowDependents」メソッドになります。

Sub show_dependents()

Dim c As Range 'セルを入れる変数の宣言 

For Each c In Selection '選択中の各セルを順番に処理
    'セルの参照先のトレースを表示
    c.ShowDependents
Next
    
End Sub

数行の簡単なマクロですが、参照元や参照先を手早く調べたいときには便利です。

参照元はセルの数式を見れば分かりますが、そのセルが他のセルから参照されているかを調べる「参照先のトレース」は便利ですから使いこなしたい機能のひとつです。

<広告>


コメント

タイトルとURLをコピーしました