- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:別ブック間のすべてのシートのある列を比較)
別ブック間のシートの列を比較するVBAマクロの作成方法
このQ&Aのポイント
- Excel VBA初心者が別ブック間のすべてのシートのある列を比較するためのマクロを作成したい。しかし、シートの指定がうまくいかない。正しい方法を教えてほしい。
- 作成したいマクロは別ブック間のすべてのシートを対象に、指定した列を比較し、同じ値に色を付けるもの。
- 現在のコードでは、シートを指定するときにエラーが発生している。シート全体を検索する方法を教えてほしい。勉強不足だが、理解できない。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
それぞれにあるシートを総当りで比較するって事なのかな? Sub search() Dim ws1 As Worksheet, ws2 As Worksheet Dim search1 As Range, search2 As Range, s As Range, ss As Range For Each ws1 In Workbooks("マクロ1.xls").Worksheets With ws1 Set search1 = .Range(.Range("A2"), .Range("A" & Rows.Count).End(xlUp)) End With For Each ws2 In Workbooks("まくろ2.xls").Worksheets With ws2 Set search2 = .Range(.Range("i2"), .Range("i" & Rows.Count).End(xlUp)) End With For Each s In search1 For Each ss In search2 If s.Value = ss.Value Then s.Interior.ColorIndex = 6 ss.Interior.ColorIndex = 6 End If Next ss Next s Next ws2 Next ws1 End Sub ただ同じシートインデックス(左からの枚数)が同じもの同士で良ければ 違う書き方もあるけど、上記はかなり時間かかるかも?
お礼
n-jun様 ご回答ありがとうございました。 はい、シートを総当たりで比較したいです。 望みどおりうまくいきました! 早くこのようなマクロをさささっとかけるように なってみたいです。 今後ともよろしくお願いいたします。