[[20191021153702]] 『参照元トレースの矢印を「指定した範囲だけ」を一』(トーマス) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『参照元トレースの矢印を「指定した範囲だけ」を一括全表示する方法』(トーマス)

投稿[[20101215110359]]からの...の参照登録として質問させていただきます。
(私のVBAスキルはニワカ仕込み程度です)

【主旨】
参照元トレースを一括全表示したいという元の投稿主さんのリクエストに対して
通りすがりさんのご回答が下記の通りですが、改造をしたいです。
 

  Sub 参照元を一括トレース()
  Dim R As Range

  For Each R In Cells.SpecialCells(xlCellTypeFormulas, 23)
  R.ShowPrecedents
  Next R
  End Sub

【付け加えたい機能】
・一括するも範囲を指定していして実行したい。
・大きな範囲でも応答なしに陥らない

【範囲の定義】
V7:GE500 の範囲を固定で指定。

【試行した内容】
RAGE範囲に対して.ShowPrecedentsが効かないため
For Next やDo Loopと、Cellsを組み合わせて.ShowPrecedentsを実行するも
範囲が大きいせいかExcelが応答なしに陥ってしまい、手詰まりとなりました。
しかし、通りすがりさんのCodeはSheet全体に渡って実行が早いため
何か試行した方法以外に解決方法があると思い質問させていただきました。

範囲指定の追加案をよろしくお願いします。

< 使用 Excel:Excel2013、使用 OS:Windows10 >


 こんな感じですか

 Sub 参照元を一括トレース()
    Dim R As Range
    Dim myArea As Range
    On Error Resume Next
        Set myArea = ActiveSheet.Range("V7:GE500").SpecialCells(xlCellTypeFormulas, 23)
    On Error GoTo 0
    If myArea Is Nothing Then
        MsgBox "範囲に該当セルがありません"
        Exit Sub
    End If
    For Each R In myArea.Cells
        R.ShowPrecedents
    Next R
 End Sub

(渡辺ひかる) 2019/10/21(月) 16:26


丸一日悩みましたが、早々のご回答で完璧に動作し感動しています。
知らない部分が多いですが、動くCODEがあればこれヒントに勉強もできそうです。
ありがとうございました。

(トーマス) 2019/10/21(月) 17:27


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.