• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで、別シートを参照しているセルのリストアップ)

エクセルで別シートを参照しているセルのリストアップ方法

x0000xの回答

  • ベストアンサー
  • x0000x
  • ベストアンサー率52% (67/127)
回答No.1

こんにちは。 以下のマクロは、新たなBOOKのマクロに貼り付けで実行します。 このマクロでは、指定したBOOKをOPENし、book内の全シートについて、"!"を検索します。 検索結果は"Sheet2"に出力しています。 BOOK名、出力シート名を適当に置き換えて実行してみてください。 Sub findLink() Dim oSt As Worksheet Set oSt = Sheets("Sheet2") oSt.Cells.Clear oSt.Range("A1").Value = "Sheet名" oSt.Range("B1").Value = "Cell名" oSt.Range("C1").Value = "式" Dim bk As Workbook Workbooks.Open ("C:\test.xls") Set bk = ActiveWorkbook Dim st As Worksheet Dim outCnt As Long outCnt = 0 For Each st In bk.Sheets Dim stopAddr As String Dim rng As Range Set rng = st.Cells.Find(what:="!", LookIn:=xlFormulas) If Not rng Is Nothing Then stopAddr = rng.Address Do outCnt = outCnt + 1 '出力件数カウント oSt.Cells(outCnt + 1, "A").Value = st.Name 'Sheet名 oSt.Cells(outCnt + 1, "B").Value = rng.Address 'セル名 oSt.Cells(outCnt + 1, "C").Value = "'" & rng.Formula '式 ' oSt.Cells(outCnt + 1, "C").Value = Replace(rng.Formula, "=", "") '式 =を外す rng.Interior.ColorIndex = 6 '色付け Set rng = st.Cells.FindNext(rng) '次を検索 If rng Is Nothing Then Exit Do '発見できないので終了 End If Loop While (stopAddr <> rng.Address) '最初に発見したセルと同じなので終了 End If Set st = Nothing Next bk.Close (True) '上書き保存 Set bk = Nothing Set oSt = Nothing MsgBox "検索終了!" End Sub

suzukiri
質問者

お礼

 まさにイメージ通りです、ありがとうございます!  2000とか2万行の抽出結果が出て、感激もひとしおです。  一つお聞かせいただければと思いますが、このときにシート名だけを抜き出したりすることは可能なのでしょうか。  もしシート名だけを抜き出したり、シート名ごとに色や処理を変えることができるなら頑張りたいです。  あとはどうにか、数十ファイルを対応するために……ファイル名と出力シート名を引数で可変にすればいいのかな?  マクロは不慣れなもので、どう指定すればいいかよく分かりませんが試行錯誤してみます。本当にありがとうございました。

関連するQ&A

  • エクセルにてあるセルに年式を打ち込むと、別シートにある顧客リストから、

    エクセルにてあるセルに年式を打ち込むと、別シートにある顧客リストから、月・日の区別なしに抽出し、左セルの地方名に準じて、さらに抽出されるような計算式を教えて頂けますでしょうか?

  • 別シートへのセル参照について

    別シートへのセル参照についての質問です。 例えばSheet1のA1,B3,C6,G9に値が入っているとします。 その値を順にSheet2のB2,C4,D9,E17に参照したいのですが、 それぞれにセル参照しないとダメなんでしょうか? Sheet1,Sheet2に違う種類の表があって、それぞれに同じ値を入力するんですが、Sheet1に入力すれば自動的に入るようにしたいです。 実際はSheetや、値を入力するセルがかなり多いので、ひとつひとつセル参照するのが大変なので・・・よろしくお願いします。

  • Excel2010でセルの参照について

    こんにちは。 Excel2010のセルにリストを設定しました。 この設定を別のシートのセルにも適用したいのですが、 ・リストの設定を参照して、選択される値は参照先の自由に。 ・参照元のリストの項目が追加されると、参照先でも追加される。 ということを行いたいのですがExcelではどのようにすればよろしいでしょうか。 コピー&ペーストでは、参照元のリストの項目が増えても、参照先では増えません。 =シート名!セル位置で行うと、参照元でセットされた値だけが参照先に表示される。 となり私の期待したものになりません。 上記のようなことは可能でしょうか?

  • Excel 別シートのセルを参照させる時の疑問

    エクセルであるシート(A)のセルに、別シート(B)の特定のセルを参照させたい場合、(A)のセルに= を入力し、続けて(B)の参照させたいセルを選択すると、=の後に選んだシート名+「!」+セル名が表示されます。 同じ作業をいくつか続けて行っているのですが、一カ所だけ「=」のあとのシート名が 「'」マークでくくられます。 問題なく選択したセルの参照は行えるのですが、この「'」は何を表しているのでしょうか。 分かりにくいので例を書きますと、たとえば「sheetA」の「A1」を参照させた場合、 ケースその1 : =sheetA!A1 ケースその2 : ='sheetA'!A1 このような違いがあります。 お分かりになる方がいらっしゃいましたら、恐れ入りますがよろしくお願いいたします。

  • 別シートのセル参照

    Excel(Win2000,Excel2002)で別シートのセルを参照する場合、シート名を入れると思うのですが、シート名を入れずに一つ右隣のシートというような指定をする事が出来ますか?記号などを使用して出来るのであれば方法を知りたいのですが。お願いします。

  • Excel 別シートのセル参照

    Excel で、二つのシート間でセル参照したいのですが、シートに書き込んでおくコマンドの書き方を教えてください。 (操作) Sheet2 でA列のどこかのセルをダブルクリックしたとき、B列およびC列の該当行の値を、Sheet1 の二つの固定セルにそれぞれ表示させる。 よろしくお願いします。

  • エクセルのセルを参照して別シートに張り付ける

    こんにちは。 エクセルのsheet1とsheet2があり、sheet1のセルに入力されている文字や数値をsheet2にコピーしたいと思っています。ただし、コピー先のsheet2のセルの値は、sheet1を参照するだけでなく文字や数値として表示できないかと悩んでいます。 図で説明すると  (sheet1)                →           (sheet2)   A    B    C     D           A     B    C     D 1あああ  10  いいい  えおう        1いいい  えおう  10    あああ 2あああ  10  いいい  かけこ       2いいい  かけこ  10    あああ 3あああ  10  いいい  みまつ       3いいい  みまつ  10    あああ  4あああ  10  いいい  さぐも        4いいい   さぐも   10    あああ また、上記のようにsheet1とsheet2の列は同じ場所ではありません。 このような作業を1回で行うことはできるのでしょうか? よろしくお願いします。

  • Excelで参照するシート名を計算で求めることは可能ですか?

    前置き 本当は邪道だと思うのですが・・・・。 Excelでとある見積書を部品ごとにシートを分けて作成しており、 そのシートは80シートにも及びます。 この見積書の合計部分のみを集めた、統括表の様なシートを別途作成 してその表に80シートの合計部分のみを自動参照(リンク)させて計算 したいのですが、計算式をコピーしてもセル参照は変わってもシート名だけは 変わってくれず、ひとつひとつシート名を手修正している次第です。 ファイルはたくさんあるのでこのままでは、日が暮れてしまいそうで 困り果てております。 シート名の部分をこのセルの値を参照するというように計算で求めることは 可能でしょうか?教えてください。

  • エクセルのセル参照、一つずつ参照セルをずらしていきたい

    エクセルのセル参照の方法について教えてください。 2つのシートがあって、 ひとつのシートにはC4,D5,E6…というように行と列がひとつずつ増えていくところに値が入力されています。 このシートから、C4,D5,E6…のセルの値を取り出して 別のシートのA1,A2,A3…に縦に並んで表示させたいのですが、どのようにセルを参照させればC4,D5,E6…という 行と列がひとつずつ増えていくセルを参照できるでしょうか? よろしくお願いいたします。

  • excel 参照しているセルに色がついていたら、返すセルにも色もつける

    excelの詳しい方、ぜひ教えてください! Sheet1にあるデータを、計算式によってSheet2に参照させていますが、Sheet1のセルの色までは参照する事ができません。 計算式はいたって簡単で、例えばSheet1のA1を参照している時は、Sheet2のセルに =Sheet1!$A$1 と計算式を入力しています。 条件付き書式や関数も考えたのですが、 ”もし、参照しているセルに色がついていたら、返すセルにも色もつける” をどうすれば出来るのかわかりません。 どうか、わかる方ぜひ教えてください。お願いします!!