Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4273 / 13644 ツリー ←次へ | 前へ→

【57555】循環参照セルの検索 move-evom 08/9/2(火) 17:54 質問[未読]
【57558】Re:循環参照セルの検索 りん 08/9/2(火) 20:13 回答[未読]

【57555】循環参照セルの検索
質問  move-evom  - 08/9/2(火) 17:54 -

引用なし
パスワード
   宜しくお願いします。

循環参照しているセルを循環参照のツールバーで検索し、対象の行を削除する
マクロを作成したいと思います。
そこで、マクロの自動登録で行ったのですが、ダイレクトにセルを選択し、
行を削除するコードになっていました。

循環参照しているセル番地を取得する何か方法はありますでしょうか?

教えて下さい。宜しくお願いします。

【57558】Re:循環参照セルの検索
回答  りん E-MAIL  - 08/9/2(火) 20:13 -

引用なし
パスワード
   move-evom さん、こんばんわ。

>循環参照しているセル番地を取得する何か方法はありますでしょうか?
CircularReferenceプロパティを使用すると、シート上の最後に作成された循環参照のセル範囲を取得できるので、循環しているセルの数式をコメントアウトしながらイミディエイトウィンドウに抽出していきます。

Sub TEST()
  Dim ws As Worksheet, NN As Long
  Debug.Print " Start " & Now 'ログ開始
  '現在表示しているシートが対象
  Set ws = Application.ActiveSheet
  'なくなるまで繰り返す
  With ws
   Do Until .CircularReference Is Nothing
     NN = NN + 1
     With .CircularReference
      '数式をコメントアウト
      .Formula = "'" & .Formula
      'イミディエイトウィンドウにログ表示
      Debug.Print NN & " : " & .Address(False, False, , True)
     End With
   Loop
  End With
  Debug.Print " End  " & Now 'ログ終了
End Sub

こんな感じです。

4273 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free